Package category
State management
Application state containers and stores for UI frameworks.
415 packages5 comparisons
Packages compared
415 packages
| Package | Weekly downloads | 12-month change | 52 weeks | Gzip | Last release | Module | Types | Categories |
|---|---|---|---|---|---|---|---|---|
| immer Create your next immutable state by mutating the current one | 46m | +202% | - | 1 month ago 11.1.18 | ESM + CommonJS | Bundled | State management | |
| zustand 🐻 Bear necessities for state management in React | 40.1m | +295% | - | 1 month ago 5.0.15 | ESM + CommonJS | Bundled | State management, React | |
| reselect Selectors for Redux. | 36.9m | +228% | - | 1 month ago 5.3.0 | ESM + CommonJS | Bundled | State management | |
| redux Predictable state container for JavaScript apps | 32.1m | +125% | - | 2 years ago 5.0.1 | ESM + CommonJS | Bundled | State management | |
| react-redux Official React bindings for Redux | 27.3m | +171% | - | 4 months ago 9.3.0 | ESM + CommonJS | Bundled | State management, React | |
| @tanstack/store Framework agnostic type-safe store w/ reactive framework adapters | 22.7m | +1572% | - | 1 month ago 0.11.1 | ESM + CommonJS | Bundled | TypeScript tooling, State management | |
| @tanstack/react-store Framework agnostic type-safe store w/ reactive framework adapters | 21.8m | +1517% | - | 1 month ago 0.11.1 | ESM + CommonJS | Bundled | TypeScript tooling, State management | |
| @reduxjs/toolkit The official, opinionated, batteries-included toolset for efficient Redux development | 21.6m | +277% | - | 4 months ago 2.12.0 | ESM + CommonJS | Bundled | State management, React | |
| cache-base Basic object cache with `get`, `set`, `del`, and `has` methods for node.js/javascript projects. | 9.5m | -12% | - | 4 years ago 4.0.2 | CommonJS | None | Caching, State management | |
| nanostores A tiny (372 bytes) state manager for React/Preact/Vue/Svelte with many atomic tree-shakable stores | 6.5m | +1241% | - | 22 days ago 1.5.3 | ESM only | Bundled | State management, React | |
| state-local Tiny, simple, and robust technique for defining and acting with local states | 4.7m | +230% | - | 5 years ago 1.0.7 | ESM + CommonJS | Bundled | State management | |
| jotai 👻 Primitive and flexible state management for React | 4.2m | +119% | - | 16 days ago 3.0.0 | ESM only | Bundled | State management, React | |
| @xstate/fsm XState for finite state machines | 4m | +218% | - | 3 years ago 2.1.0 | ESM + CommonJS | Bundled | State management | |
| xstate Finite State Machines and Statecharts for the Modern Web. | 3.7m | +88% | - | 9 days ago 5.33.2 | ESM + CommonJS | Bundled | State management | |
| pinia Intuitive, type safe and flexible Store for Vue | 3.6m | +80% | - | 1 month ago 4.0.3 | ESM only | Bundled | State management, Vue | |
| mobx Simple, scalable state management. | 2.7m | +51% | - | 2 days ago 7.0.4 | ESM + CommonJS | Bundled | State management | |
| mobx-react-lite Lightweight React bindings for MobX based on function components and Hooks | 2.7m | +68% | - | today 5.1.0 | ESM + CommonJS | Bundled | State management, TypeScript tooling | |
| @earendil-works/pi-agent-core General-purpose agent with transport abstraction, state management, and attachment support | 2.4m | - | - | 2 days ago 0.87.1 | ESM only | Bundled | State management | |
| @xstate/react XState tools for React | 2.2m | +90% | - | 6 months ago 6.1.0 | ESM + CommonJS | Bundled | State management, React | |
| mobx-react React bindings for MobX. Create fully reactive components. | 1.8m | +58% | - | 1 month ago 10.0.2 | ESM + CommonJS | Bundled | State management, TypeScript tooling | |
| valtio 🧙 Valtio makes proxy-state simple for React and Vanilla | 1.5m | +68% | - | 4 months ago 2.3.2 | - | - | State management, React | |
| notistack Highly customizable notification snackbars (toasts) that can be stacked on top of each other | 1.4m | +39% | - | 1 year ago 3.0.2 | - | - | State management, React | |
| vuex state management for Vue.js | 1.3m | +1% | - | 3 years ago 4.1.0 | ESM + CommonJS | Bundled | State management, Vue | |
| @assistant-ui/tap Reactive state management inspired by React hooks | 1.3m | - | - | - | 1 day ago 0.9.19 | - | - | State management |
| @assistant-ui/store Tap-based state management for @assistant-ui | 1.2m | - | - | - | 1 day ago 0.3.15 | - | - | State management |
| @hapi/statehood HTTP State Management Utilities | 981.7k | - | - | - | 10 months ago 8.2.1 | CommonJS | Bundled | State management |
| @redux-saga/symbols Redux-saga internal symbol "registry". | 946.1k | - | - | - | 11 months ago 1.2.1 | ESM + CommonJS | Bundled | State management |
| @redux-saga/delay-p Promisified setTimeout | 925.2k | - | - | - | 11 months ago 1.3.1 | ESM + CommonJS | Bundled | Promises and async control flow, State management |
| @redux-saga/deferred Helper for creating "exposed" promise object (with resolve & reject methods). | 916.2k | - | - | - | 11 months ago 1.3.1 | ESM + CommonJS | Bundled | Promises and async control flow, State management |
| @zag-js/combobox Core logic for the combobox widget implemented as a state machine | 853.5k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/menu Core logic for the menu widget implemented as a state machine | 837.3k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/tags-input Core logic for the tags-input widget implemented as a state machine | 823.2k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/number-input Core logic for the number-input widget implemented as a state machine | 819.6k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/popover Core logic for the popover widget implemented as a state machine | 818.6k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/date-picker Core logic for the date-picker widget implemented as a state machine | 816.7k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, Date pickers |
| @zag-js/radio-group Core logic for the radio group widget implemented as a state machine | 816.5k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/collapsible Core logic for the collapsible widget implemented as a state machine | 815.5k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/presence Core logic for the presence widget implemented as a state machine | 814.7k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/switch Core logic for the switch widget implemented as a state machine | 814.3k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/file-upload Core logic for the file-upload widget implemented as a state machine | 810.8k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/pagination Core logic for the pagination widget implemented as a state machine | 810.5k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/avatar Core logic for the avatar widget implemented as a state machine | 807.6k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/rating-group Core logic for the rating-group widget implemented as a state machine | 807.2k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/tree-view Core logic for the tree-view widget implemented as a state machine | 804.3k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/toggle-group Core logic for the toggle widget implemented as a state machine | 801k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/progress Core logic for the progress widget implemented as a state machine | 797.4k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/pin-input Core logic for the pin-input widget implemented as a state machine | 796.9k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/hover-card Core logic for the hover-card widget implemented as a state machine | 791.7k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/color-picker Core logic for the color-picker widget implemented as a state machine | 790.4k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
| @zag-js/select Core logic for the select widget implemented as a state machine | 789.5k | - | - | - | 11 days ago 1.44.0 | ESM + CommonJS | Bundled | UI component libraries, State management |
12-month change compares the average of the last 4 weeks of downloads with the first 4 weeks of the 52-week series. Gzip size is for the whole package, as measured by Bundlephobia. "-" means the value has not been fetched.
- immerCreate your next immutable state by mutating the current one
- zustand🐻 Bear necessities for state management in React
- reselectSelectors for Redux.
- reduxPredictable state container for JavaScript apps
- react-reduxOfficial React bindings for Redux
- @tanstack/storeFramework agnostic type-safe store w/ reactive framework adapters
- @tanstack/react-storeFramework agnostic type-safe store w/ reactive framework adapters
- @reduxjs/toolkitThe official, opinionated, batteries-included toolset for efficient Redux development
- cache-baseBasic object cache with `get`, `set`, `del`, and `has` methods for node.js/javascript projects.
- nanostoresA tiny (372 bytes) state manager for React/Preact/Vue/Svelte with many atomic tree-shakable stores
- state-localTiny, simple, and robust technique for defining and acting with local states
- jotai👻 Primitive and flexible state management for React
- @xstate/fsmXState for finite state machines
- xstateFinite State Machines and Statecharts for the Modern Web.
- piniaIntuitive, type safe and flexible Store for Vue
- mobxSimple, scalable state management.
- mobx-react-liteLightweight React bindings for MobX based on function components and Hooks
- @earendil-works/pi-agent-coreGeneral-purpose agent with transport abstraction, state management, and attachment support
- @xstate/reactXState tools for React
- mobx-reactReact bindings for MobX. Create fully reactive components.
- valtio🧙 Valtio makes proxy-state simple for React and Vanilla
- notistackHighly customizable notification snackbars (toasts) that can be stacked on top of each other
- vuexstate management for Vue.js
- @assistant-ui/tapReactive state management inspired by React hooks
- @assistant-ui/storeTap-based state management for @assistant-ui
- @hapi/statehoodHTTP State Management Utilities
- @redux-saga/symbolsRedux-saga internal symbol "registry".
- @redux-saga/delay-pPromisified setTimeout
- @redux-saga/deferredHelper for creating "exposed" promise object (with resolve & reject methods).
- @zag-js/comboboxCore logic for the combobox widget implemented as a state machine
- @zag-js/menuCore logic for the menu widget implemented as a state machine
- @zag-js/tags-inputCore logic for the tags-input widget implemented as a state machine
- @zag-js/number-inputCore logic for the number-input widget implemented as a state machine
- @zag-js/popoverCore logic for the popover widget implemented as a state machine
- @zag-js/date-pickerCore logic for the date-picker widget implemented as a state machine
- @zag-js/radio-groupCore logic for the radio group widget implemented as a state machine
- @zag-js/collapsibleCore logic for the collapsible widget implemented as a state machine
- @zag-js/presenceCore logic for the presence widget implemented as a state machine
- @zag-js/switchCore logic for the switch widget implemented as a state machine
- @zag-js/file-uploadCore logic for the file-upload widget implemented as a state machine
- @zag-js/paginationCore logic for the pagination widget implemented as a state machine
- @zag-js/avatarCore logic for the avatar widget implemented as a state machine
- @zag-js/rating-groupCore logic for the rating-group widget implemented as a state machine
- @zag-js/tree-viewCore logic for the tree-view widget implemented as a state machine
- @zag-js/toggle-groupCore logic for the toggle widget implemented as a state machine
- @zag-js/progressCore logic for the progress widget implemented as a state machine
- @zag-js/pin-inputCore logic for the pin-input widget implemented as a state machine
- @zag-js/hover-cardCore logic for the hover-card widget implemented as a state machine
- @zag-js/color-pickerCore logic for the color-picker widget implemented as a state machine
- @zag-js/selectCore logic for the select widget implemented as a state machine