Compare Jotai to these popular alternatives based on real-world usage and developer feedback.

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.

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.

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.

An alternative side effect model for Redux apps

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.

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

It is an experimental state management library for React apps. It provides several capabilities that are difficult to achieve with React alone, while being compatible with the newest features of React.

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.

It is a library for creating, interpreting, and executing finite state machines and statecharts. It's a really powerful package that can be used to manage state in React Apps.

It provides reactive state management for Angular apps inspired by Redux. Unify the events in your application and derive state using RxJS.

It is full-featured reactive state management without the boilerplate. Technically speaking, mobx-state-tree (also known as MST) is a state container system built on MobX, a functional reactive state library.

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


Convex is a Backend Application Platform that keeps you focused on building your product. Convex Functions, Realtime Database, File Storage, Job Scheduling, Text Search, Vector Search, and much more, as one cohesive product.

Originally inspired by the now seemingly abandoned library - bey. Although substantially different now - with Server-side rendering and Async Actions built in.

It is a lightweight solution to state management that takes advantage of hooks. You can write local state using React Hooks and lift it up to React Context only when needed with minimum effort.

RxJS and ImmutableJs powered nested state management for Angular 2+ applications inspired by @ngrx/store. It is simple, fast, reliable with no boilerplate.

It is a tiny, reactive JavaScript library for structured state and tabular data. Tiny by name, tiny by nature, it only costs 3.0kB - 6.0kB when compressed, and has zero dependencies.

redux-dynamic-modules is a library that aims to make Redux Reducers and middleware easy to modular-ize and add/remove dynamically.

It is a javascript library that combines the new ESNEXT javascript language with Functional Programming and old principles of front-end development, such as Separation of concerns, Progressive Enhancement, Single Responsibility Principle, and Functional Oriented.

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.

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 library to load and manage data inline in React components that work on both client and server.

Automatically completes the merge process from the small Reducers to the main Reducer by explicitly expressing the dependencies between components.