Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Top 23 TypeScript state-management Projects
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
router
🤖 Fully typesafe Router for React (and friends) w/ built-in caching, 1st class search-param APIs, client-side cache integration and isomorphic rendering.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
blocksuite
🧩 Content editing tech stack for the web - BlockSuite is a toolkit for building editors and collaborative applications.
-
mutative
Efficient immutable updates, 2-6x faster than naive handcrafted reducer, and more than 10x faster than Immer.
-
apprun
AppRun is a JavaScript library for developing high-performance and reliable web applications using the elm inspired architecture, events and components.
-
pullstate
Simple state stores using immer and React hooks - re-use parts of your state by pulling it anywhere you like!
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
For large-scale applications with frequently changing state, dedicated state management libraries like Redux, MobX, Zustand, etc. are generally better choices. These libraries offer efficient ways to handle state updates and minimize unnecessary re-renders.
XState is a powerful library with comprehensive documentation. Keeping the documentation handy while building your next app with XState will be invaluable.
NgRx is the standard library for state management in Angular applications. With NgRx v14, many of the complex APIs following the Redux pattern have been greatly simplified. For example, ActionGroups make it easier to define new actions. However, the use of the Redux pattern is by no means easy and discourages many developers.
Welcome to the first article of a series where we will explore TanStack Router, a new router for React (version 1.0 released in December 2023).
Project mention: Building a Dynamic Job Board with Issues Github, Next.js, Tailwind CSS and MobX-State-Tree | dev.to | 2024-03-28Basic knowledge of Tailwind CSS and MobX-State-Tree
In its docs, Astro recommends nanostores, but I’ve used effector in the past. And LOVED IT. So I’ve used it for this project as well.
Project mention: BlockSuite is the open-source block-based editor | news.ycombinator.com | 2023-07-26
Putting the runic terminology aside and looking into how the signal primitive is implemented should dispel the magic. I learned a lot from examining preact's implementation: https://github.com/preactjs/signals/blob/main/packages/core/...
It's still boilerplatey but a little less than NgRx. But we use Ngxs: https://ngxs.io. It's a little more complex than elf but a lot more robust in my opinion.
I have reasonable knowledge with most of other popular JS frameworks especially React. But, Angular seems quite different from DX perspective. For React, my default stage management is to use React Query for server sync and Zustand for client state. Often on Angular context I read that people recommend using NgRx and saying that it is like Redux. But I find Redux DX quite bad and I only work with it on legacy projects. So is there similar approach to managing state in Angular app? I found solutions such as: https://github.com/ngneat/query and then https://github.com/ngneat/elf. Would these make sense for Angular and are there good alternatives?
Project mention: Mutative: Efficient immutable updates, more than 10x faster than Immer | news.ycombinator.com | 2024-05-03
Project mention: Focusing on optimization, surpassing immer, limu finally reaches the top of immutable data performance | dev.to | 2024-01-06helux A state engine that integrates atom, signal, and dependency tracking, and supports fine-grained response updates
Project mention: Let's learn how modern JavaScript frameworks work by building one | news.ycombinator.com | 2023-12-03
For signals, Signia or Legend State.
TypeScript state-management related posts
-
MiniRx Signal Store for Angular - API Preview
-
What's New in StateAdapt 2.0.0: adapt rework
-
Helux, a react state lib supports both atom arch and deep dependency collection
-
Angular state management
-
React: Fine-grained reactivity should be the norm
-
MiniRx Signal Store RFC needs your feedback
-
What about the new Jest integration?
-
A note from our sponsor - InfluxDB
www.influxdata.com | 10 May 2024
Index
What are some of the best open-source state-management projects in TypeScript? This list will help you:
Project | Stars | |
---|---|---|
1 | zustand | 42,888 |
2 | xstate | 26,186 |
3 | rematch | 8,459 |
4 | platform | 7,899 |
5 | router | 7,123 |
6 | mobx-state-tree | 6,874 |
7 | effector-react | 4,495 |
8 | unstated-next | 4,172 |
9 | constate | 3,911 |
10 | blocksuite | 3,838 |
11 | akita | 3,698 |
12 | signals | 3,536 |
13 | store | 3,513 |
14 | useStateMachine | 2,360 |
15 | data-client | 1,891 |
16 | elf | 1,555 |
17 | mutative | 1,460 |
18 | concent | 1,294 |
19 | apprun | 1,173 |
20 | pullstate | 1,068 |
21 | reatom | 957 |
22 | signia | 872 |
23 | focal | 721 |
Sponsored