State Management
Client-side state libraries for React (and a few that aren't React-specific).
For most apps in 2026 the answer is "use server state via TanStack Query / RSC, plus a small client store for UI." Redux's mind-share has shifted heavily to Zustand and Jotai.
React
- ★ Zustand — tiny store with a React-friendly API. The default for app-wide UI state.
- ★ Jotai — atomic state, derived atoms, suspense-friendly. Great for fine-grained component state.
- Redux Toolkit (RTK) — still huge in enterprise codebases. RTK Query is solid for data fetching.
- Valtio — proxy-based, mutable-feeling API. Niche but loved.
- Legend State — fine-grained, signals-based, fast. Persistence + sync built in.
- TanStack Store — minimal store from the TanStack family; pairs well with Router/Query.
- Nanostores — tiny universal stores, good in Astro / multi-framework.
- MobX — observable-based; mature, niche compared to its peak.
Vue
- ★ Pinia — official Vue store; replaced Vuex.
- VueUse — composables include
useStorageetc. that often replace dedicated stores.
Svelte
- Built-in
$staterune in Svelte 5 — for many apps, no library needed. - Svelte stores for cross-component state.
Universal / framework-agnostic signals
- Preact Signals — tiny, very fast.
- TC39 Signals proposal — still in flight; libraries are converging on signals as the underlying primitive.
Pick this if…
- You want one library and to move on: Zustand.
- You need atomic, derived state: Jotai.
- You're in an existing Redux codebase: RTK.
- You want offline-first / sync: Legend State.