React State Management Libraries





The original state management architecture for React utilizing a unidirectional data flow. Now deprecated and in maintenance mode.
Flux GitHub RepositoryFlux NPM PackageFlux Bundle Size Stats


Dan Abramov

A predictable, centralized, debuggable and flexible state container for JS apps inspired by the Flux and Elm architectures. Nowadays you should be using Redux Toolkit instead.
Redux GitHub RepositoryRedux NPM PackageRedux Bundle Size Stats

Redux Toolkit

Mark Erikson

The official, opinionated, batteries-included toolset for efficient Redux development
Redux Toolkit GitHub RepositoryRedux Toolkit NPM PackageRedux Toolkit Bundle Size Stats


Michel Weststrate

A battle tested library that makes state management simple and scalable by transparently applying functional reactive programming. Uses observable data structures instead of actions and reducers.
MobX GitHub RepositoryMobX NPM PackageMobX Bundle Size Stats

Apollo Client

Apollo GraphQL

A fully-featured caching GraphQL client with integrations for React that also has functionality for managing local state.
Apollo Client GitHub RepositoryApollo Client NPM PackageApollo Client Bundle Size Stats


David Khourshid

JavaScript and TypeScript finite state machines and statecharts for the modern web.
XState GitHub RepositoryXState NPM PackageXState Bundle Size Stats



Recoil lets you create a data-flow graph that flows from atoms (shared state) through selectors (pure functions) and down into your React components. Atoms are units of state that components can subscribe to. Selectors transform this state either synchronously or asynchronously.
Recoil GitHub RepositoryRecoil NPM PackageRecoil Bundle Size Stats

React Query

Tanner Linsley

Writing your data fetching logic by hand is over. Tell React Query where to get your data and how fresh you need it to be and the rest is automatic. React Query handles caching, background updates and stale data out of the box with zero-configuration.
React Query GitHub RepositoryReact Query NPM PackageReact Query Bundle Size Stats



A small, fast and scalable bearbones state-management solution using simplified flux principles.
Zustand GitHub RepositoryZustand NPM PackageZustand Bundle Size Stats



Primitive and flexible state management for React
Jotai GitHub RepositoryJotai NPM PackageJotai Bundle Size Stats



Lightweight Proxy-Based State Management for ReactJS and VanillaJS
Valtio GitHub RepositoryValtio NPM PackageValtio Bundle Size Stats