Zustand
A tiny global store for React with no provider wrapping and almost no boilerplate. Reach for it before Redux.
What is Zustand?
Zustand is a small state management library for React that skips the ceremony most global state solutions require: no provider wrapping your app, no action types or reducers to define, no boilerplate beyond calling a create function that returns a hook. Components subscribe to just the slices of state they need, which keeps re-renders scoped without extra memoization work.
Key features
- No context provider required, state lives in a store created with a single function call
- Components subscribe to specific slices of state, avoiding the re-render-everything problem simpler solutions run into
- Small bundle size compared to heavier state management libraries
- Works outside React too, state can be read and updated from plain functions, not just components
- Middleware support (persistence, devtools, immer-style updates) for when you need more than the bare minimum
Who it's for
React apps that need shared state across components but don't want the setup overhead of Redux or a heavier state library. If state is genuinely local to one component tree, plain useState and prop drilling or context is still simpler, don't reach for a global store you don't need yet.
Pricing
Free and open source.