It is RxJS and ImmutableJs powered nested state management for React applications inspired by @ngrx/store. It is simple, fast, reliable and no boilerplate. | It is a modern alternative to Redux, Mobx, Formik without boilerplate. It is simple to learn but very flexible to use. It has got impressive performance and predictable behavior. |
Allows state nesting and injects responsible peaces to components;Uses immutablejs / immer fast equality object comparison for high performance; Actions can return observables, promises or simple objects;Decouples / Hides paths to state from components;Uses Redux like pure functions - actions to interact with state;Uses Redux like messages for communication between not related components;Does not use React component state;No boilerplate;No long paths to access nested state / store; Easy to write unit and integration tests; Has hooks implementation | Concise, pragmatic but flexible API. Very easy to learn. See Getting Started and other code samples to learn it in minutes;
Incredible performance based on unique method for tracking of used/rendered and updated state segments. Ideal solution for huge states and very frequent updates;
Small core library packed with features: global states, local states, asynchronously loaded states, partial state updates, deeply nested state updates, and a lot more;
Complete type inferrence for any complexity of structures of managed state data. Full intellisense support tested in VS Code;
Extend or customize your state hooks. There are several standard plugins available: initial state value, touched fields tracking, modified fields tracking, state validation, persistence, and a lot more;
Develop like a pro. Browser's extension to trace and set state values, to set breakpoints on state changes, to identify components using a segment of a state, and a lot more |
Statistics | |
GitHub Stars 13 | GitHub Stars 1.7K |
GitHub Forks 1 | GitHub Forks 108 |
Stacks 1 | Stacks 1 |
Followers 13 | Followers 1 |
Votes 0 | Votes 0 |
Integrations | |

It helps you write applications that behave consistently, run in different environments (client, server, and native), and are easy to test. t provides a great experience, such as live code editing combined with a time traveling debugger.

MobX is a battle tested library that makes state management simple and scalable by transparently applying functional reactive programming (TFRP). React and MobX together are a powerful combination. React renders the application state by providing mechanisms to translate it into a tree of renderable components. MobX provides the mechanism to store and update the application state that React then uses.

Small, fast and scaleable bearbones state-management solution. Has a comfy api based on hooks, that isn't boilerplatey or opinionated, but still just enough to be explicit and flux-like.

It is an effective multi-store state manager for Javascript apps, that allows you to manage data in complex applications.

An alternative side effect model for Redux apps

Vuex is a state management pattern + library for Vue.js applications. It serves as a centralized store for all the components in an application, with rules ensuring that the state can only be mutated in a predictable fashion. It also integrates with Vue's official devtools extension to provide advanced features such as zero-config time-travel debugging and state snapshot export / import.

Redux Thunk middleware allows you to write action creators that return a function instead of an action. The thunk can be used to delay the dispatch of an action, or to dispatch only if a certain condition is met. The inner function receives the store methods dispatch and getState as parameters.

State so simple, it goes without saying

Simple “selector” library for Redux (and others) inspired by getters in NuclearJS, subscriptions in re-frame and this proposal from speedskater.

It allows developers to dispatch a function that returns an observable, promise or iterable of action(s). Compose and cancel async actions to create side effects and more.