11 projects
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.
Vuex is the formerly-official centralized state management library for Vue.js, providing a single store with predictable, mutation-controlled state and Vue devtools integration for time-travel debugging. It has been superseded by Pinia as Vue's recommended state solution and is now in maintenance mode.
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.
dva is a lightweight React and Redux application framework that wraps redux, redux-saga, and react-router behind a minimal API. It organizes state into Elm-inspired models composed of reducers, effects, and subscriptions, reducing the boilerplate of the traditional Redux ecosystem.
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.
boardgame.io is a JavaScript/TypeScript engine for building turn-based games by writing pure functions that describe how game state changes on each move. It automatically handles multiplayer synchronization, storage, game phases, bots, and lobby/matchmaking, with view-layer-agnostic clients including React bindings.
Unstated is a minimalist React state management library that lets you share component-like state across the tree using small Container classes built on React's Context API. It deliberately stays tiny, treating containers as plain classes with a setState-style API rather than acting as a Redux replacement.
A minimal React state management library from RisingStack built on transparent reactive proxies. You wrap state objects with `store()` and components with `view()`, then mutate state with plain JavaScript and components re-render automatically based on which store properties they read.
Cerebral is a declarative state and side-effects management library for JavaScript frameworks that provides type-safe, reactive state management across React, Vue, Preact, Inferno, and Angular with a monorepo-based architecture.