Third-party Libraries
Zustand provides bear necessities for state management. Although it is great for most projects, some users wish to extend the library's feature set. This can be done using third-party libraries created by the community.
Disclaimer: These libraries may have bugs, limited maintenance, or other limitations, and are not officially recommended by pmndrs or the Zustand maintainers. This list aims to provide a good starting point for someone looking to extend Zustand's feature set.
- @colorfy-software/zfy — 🧸 Useful helpers for state management in React with Zustand.
- @davstack/store — A zustand store factory that auto generates selectors with get/set/use methods, supports inferred types, and makes global / local state management easy.
- @dhmk/zustand-lens — Lens support for Zustand.
- @liveblocks/zustand — Liveblocks middleware to make your application multiplayer.
- @prncss-xyz/zustand-optics — An adapter for optics-ts.
- auto-zustand-selectors-hook — Automatic generation of Zustand hooks with Typescript support.
- derive-zustand — A function to create a derived Zustand store from other Zustand stores.
- geschichte — Zustand and Immer-based hook to manage query parameters.
- leiten-zustand — Cleans your store from boilerplate for requests and data transformation.
- leo-query — A simple library to connect async queries to Zustand stores.
- mobz — Zustand-style MobX API.
- ngx-zustand — A Zustand adapter for Angular.
- persist-and-sync — Zustand middleware to easily persist and sync Zustand state between tabs/windows/iframes with same origin.
- shared-zustand — Cross-tab state sharing for Zustand.
- simple-zustand-devtools — 🐻⚛️ Inspect your Zustand store in React DevTools.
- solid-zustand — State management in Solid using Zustand.
- treeshakable — A wrapper for library creators to avoid redundant store creation.
- use-broadcast-ts — Zustand middleware to share state between tabs.
- use-zustand — Another custom hook to use Zustand vanilla store.
- vue-zustand — State management solution for Vue based on Zustand.
- zoov — State management solution based on Zustand with Module-like API.
- zukeeper — Native devtools with state and action tracking, diffing, tree display, and time travel
- zundo — 🍜 Undo and redo middleware for Zustand, enabling time-travel in your apps.
- zustand-ards — 💁 Simple opinionated utilities for example alternative selector formats and default shallow hooks
- zustand-async-slice - Simple Zustand utility to create Async Slice. TypeScript Fully Supported 🖖
- zustand-boilerplate — A tool that automatically generates getters, setters and more for your zustand store.
- zustand-computed — A Zustand middleware to create computed states.
- zustand-computed-state — Simple middleware to add computed states.
- zustand-constate — Context-based state management based on Zustand and taking ideas from Constate.
- zustand-context — Create a zustand store in React Context, containing an initial value, or use it in your components with isolated, mockable instances.
- zustand-di — use react props to init zustand stores
- zustand-forms — Fast, type safe form states as Zustand stores.
- zustand-hash-storage — Zustand middleware for saving state into URL hash, b64 encoded (can be configured) and debounce timer.
- zustand-injectors — A sweet way to lazy load slices
- zustand-interval-persist — An enhancement for zustand that enables automatic saving of the store's state to the specified storage at regular interval.
- zustand-lit — A zustand adapter for lit.js (LitElement)
- zustand-middleware-computed-state — A dead simple middleware for adding computed state to Zustand.
- zustand-middleware-xstate — A middleware for putting XState state machines into a global Zustand store.
- zustand-middleware-yjs — A middleware for synchronizing Zustand stores with Yjs.
- zustand-persist — A middleware for persisting and rehydrating state.
- zustand-pub — Cross-Application/Cross-Framework State Management And Sharing based on zustand and zustand-vue for React/Vue.
- zustand-querystring — A Zustand middleware that syncs the store with the querystring.
- zustand-rx — A Zustand middleware enabling you to subscribe to a store as an RxJS Observable.
- zustand-saga — A Zustand middleware for redux-saga (minus redux).
- zustand-slices — A slice utility for Zustand.
- zustand-store-addons — React state management addons for Zustand.
- zustand-sync-tabs — Zustand middleware to easily sync Zustand state between tabs/windows/iframes with same origin.
- zustand-valtio — A sweet combination of Zustand and Valtio
- zustand-vue — State management for vue (Vue3 / Vue2) based on zustand.
- zustand-xs — XState/store compabile middleware for Zustand
- zustand-yjs — Zustand stores for Yjs structures.
- zusteller — Your global state savior. "Just hooks" + Zustand.
- zustood — 🐻❄️ A modular store factory using Zustand.
- zusty — Zustand tool to assist debugging with time travel, action logs, state snapshots, store view, render time metrics and state component tree.
- zutron — Use Zustand in Electron apps, seamlessly.