The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Top 23 JavaScript 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.
-
redux-orm
NOT MAINTAINED – A small, simple and immutable ORM to manage relational data in your Redux store.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
fireproof
Realtime database, runs anywhere. Install Fireproof in your front-end app or edge function, and sync data via any backend.
-
vue
Vue integration for Nano Stores, a tiny state manager with many atomic tree-shakable stores (by nanostores)
-
statebot
Describe the states and allowed transitions of a program using a flowchart-like syntax. Switch to states directly, or by wiring-up events. Statebot is an FSM.
-
hami-vuex
🍈 Hami melon flavored Vuex, modular by design, completely TypeScript intelligence, state management for Vue.js.
-
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.
Pinia is a relatively new state management tool for the Vue ecosystem. It is the new preferred state management tool recommended by the Vue core team replacing Vuex. Compared to Vuex, Pinia is type-safe by default (direct-vuex was needed to make Vuex type-safe), extremely lightweight, and modular by design (meaning you can create multiple stores instead of multiple modules inside one store, which optimises performance). Similar to Vuex, Pinia has state, computed properties (getters) and methods (mutations and actions). Read more about Pinia and its usage to understand the similarities and differences between Pinia and Vuex.
GitHub Repository:
Project mention: Web Components Eliminate JavaScript Framework Lock-In | news.ycombinator.com | 2023-11-27The reason React uses a virtual DOM is because when React started, there were no (advanced) HTML templates yet. And it made it easy to setup listeners on elements, instead of manually adding it with `addEventListener()` and possibly remove them again with `removeEventListener()`. So the virtual DOM was really a game changer.
But Lit templates solve this problems in a more browser integrated way, without the need of a virtual DOM. How you manage the state is free to your choice, that is also not something exclusive to React and your favorite pattern can also be used with Lit. I wrote a tiny state management library (LitState [0]) which makes it very easy for multiple components to share the same state and stay in sync. I personally find it much more convenient and cleaner than any other state library I've used before. And it integrates very nicely with Lit.
[0]: https://github.com/gitaarik/lit-state
Project mention: Stated is a REPL and library for embedding JSONata expressions into JSON or YAML | news.ycombinator.com | 2023-12-28
JavaScript state-management related posts
- How to Protect State in Pinia
- Cami.js - A No Build, Web Component Based UI Framework
- Show HN: Cami.js – A No Build, Web Component Based Reactive Framework
- Leaders Are Tool Builders: Why I Wrote My Own JavaScript UI Framework
- Meet Eagle Eye: the React Context Based Fast and Simple Observable Context State Manager.
- A guide to Vue Lifecycle hooks.
- Meet Eagle Eye!
-
A note from our sponsor - WorkOS
workos.com | 27 Apr 2024
Index
What are some of the best open-source state-management projects in JavaScript? This list will help you:
Project | Stars | |
---|---|---|
1 | vuex | 28,361 |
2 | react-final-form | 7,339 |
3 | easy-peasy | 5,023 |
4 | final-form | 2,983 |
5 | hybrids | 2,964 |
6 | redux-orm | 2,952 |
7 | react-easy-state | 2,560 |
8 | cerebral | 1,968 |
9 | ReactStateMuseum | 1,551 |
10 | react-sweet-state | 852 |
11 | reusable | 234 |
12 | react-singleton-hook | 231 |
13 | fireproof | 177 |
14 | lit-state | 129 |
15 | stoxy | 76 |
16 | Dragonbinder | 73 |
17 | react-holmes | 50 |
18 | vue | 46 |
19 | statebot | 26 |
20 | storecle | 26 |
21 | hami-vuex | 23 |
22 | storken | 23 |
23 | stated | 14 |
Sponsored