Skip to content
React Libraries
On this page

State management

Coordinate local state, shared stores, URL state, and persistent client data.

Choose a library or tool

12 options in this category.

Jump to a library or tool (12)

Immutable.js

Library / tool

Persistent immutable data structures for JavaScript.

Good for
Managing complex collections while retaining previous versions of state.

Jotai

Library / tool

Atomic state management for React.

Good for
Composing shared state from small independently managed atoms.

MobX

Library / tool

Observable state management with automatic dependency tracking.

Good for
Deriving reactive UI updates from mutable application models.

MobX-State-Tree

Library / tool

A state container combining typed models with observable state.

Good for
Structuring application state around models, actions, and snapshots.

Nano Stores

Library / tool

Small reactive stores that work across several UI frameworks.

Good for
Sharing focused pieces of state without a large state-management setup.

nuqs

Library / tool

Type-safe state management stored in URL search parameters.

Good for
Keeping filters, pagination, and shareable view state in the address bar.

Recoil

Library / tool

An atom-and-selector state-management library originally developed for React.

Good for
Understanding or maintaining applications that already use Recoil.

Redux Toolkit

Library / tool

The recommended tooling for writing Redux state logic.

Good for
Managing shared state with predictable actions, reducers, and debugging support.

TinyBase

Library / tool

A reactive data store designed for local-first applications.

Good for
Managing structured client data with reactive views and persistence.

Valtio

Library / tool

Proxy-based state management for React and JavaScript.

Good for
Writing mutable-looking state updates with reactive snapshots for rendering.

XState Store

Library / tool

A lightweight state store based on events and explicit transitions.

Good for
Managing local or shared state with clearly defined update events.

Zustand

Library / tool

A small state-management library with hook-based access.

Good for
Sharing application state through a straightforward external store.

Keep exploring

Browse all categories →