Zustand gives you small global stores with a hook-shaped API and a persist middleware already pointed at your storage adapter. I'd pick it over jotai when you think in stores and selectors rather than in atoms, and over none as soon as two screens need to share state. It doesn't replace the built-in stores: theme mode and onboarding stay on createPersistedStore in core.
At a glance
- Runs in Expo Go
- Yes
- Files added
- 5
- npm packages
- 1
- Keys to paste
- None
- Included in
- Free, Starter and Pro
Set it up
bun run setup --state zustandSetup copies the module in, installs SDK-matched versions and removes the options you did not pick. Then bun run doctor lists every key still missing, with a link to where you get it. The step-by-step guide is in the Zustand docs.
Other state options
Get it
Zustand is part of the free tier: clone it on GitHub. Starter and Pro add the stack picker, EAS store builds and doctor.