The 15 best open-source State management libraries in 2026, ranked by our maintenance-health metric plus real adoption (stars and weekly downloads) and security signals. Right now redux leads the field with a 100/100 health score. Each links to a full analysis with install commands, license, and alternatives.
Redux is a small, predictable state container for JavaScript apps, built around a single immutable store, plain action objects, and pure reducer functions. Its official Redux Toolkit layer abstracts away boilerplate and codifies recommended patterns for real-world apps.
Zustand is a minimal, hook-based state management library for React (with a framework-agnostic vanilla core) built on simplified flux principles. It avoids context providers and boilerplate while handling React's tricky edge cases like zombie children and concurrency.
TanStack Query is an async state management library for fetching, caching, synchronizing, and updating server state in web apps. It abstracts the lifecycle of asynchronous data with declarative queries and mutations, supporting any data source (REST, GraphQL, promises) across React, Vue, Svelte, Solid, and Angular.
React Hook Form is a performant, dependency-free form library for React that uses uncontrolled inputs and hooks (register, handleSubmit, formState) to minimize re-renders, with built-in HTML validation and schema resolvers for Zod, Yup, Joi, and others.
MobX is a signal-based reactive state management library that makes any object observable and automatically tracks which derived computations and UI components depend on which fields, re-running only what's strictly needed. It's framework-agnostic at its core but most commonly paired with React via mobx-react/mobx-react-lite.
Jotai is a minimal, atom-based state management library for React built around tiny composable "atoms" of state that can be derived, combined, and made async. It avoids string keys, integrates with Suspense, and scales from a useState replacement to large TypeScript apps.
Relay is Facebook's GraphQL client framework for React that lets components declare their own data requirements via colocated GraphQL fragments, then compiles and batches them into efficient network requests with built-in caching, mutations, optimistic updates, and pagination.
Bloc is a Dart/Flutter state management library implementing the BLoC (Business Logic Component) pattern, separating presentation from business logic via observable streams of events and states. It ships as a family of packages (bloc, flutter_bloc, hydrated_bloc, bloc_test, etc.) covering persistence, testing, concurrency, and linting.
A thin React wrapper around the framework-agnostic Final Form library, providing subscription-based form state management where only components depending on changed state re-render. It ships with zero bundle-affecting dependencies and a small footprint.
mobx-state-tree is an open-source TypeScript project in the state management space with 7k GitHub stars. The repository has seen commits within the last year.
TanStack Form is a headless, framework-agnostic form state library for managing complex forms with full TypeScript typing, reactive field hooks, and synchronous/asynchronous validation. You bring your own UI while it handles form state, validation, and workflows.
Final Form is a lightweight, framework-agnostic form state management library that uses zero dependencies and opt-in subscriptions to minimize bundle size and re-renders.
Data Client is a TypeScript data-fetching and normalized caching library for React (and Vue, React Native, Next.js, Expo) that uses declarative, schema-driven resource definitions to bind dynamic data—REST, GraphQL, WebSockets/SSE—to components with one-line hooks and zero manual cache updater functions.
store is an open-source TypeScript project in the state management space with 3.5k GitHub stars. The repository is actively maintained, with recent commits.
mobx.dart is an open-source Dart project in the state management space with 2.5k GitHub stars. The repository is actively maintained, with recent commits.