Pmndrs.docs

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.
  • @dhmk/zustand-lens — Lens support for Zustand.
  • @liveblocks/zustand — Liveblocks middleware to make your application multiplayer.
  • 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.
  • 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.
  • 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.
  • zundo — 🍜 Undo and redo middleware for Zustand, enabling time-travel in your apps.
  • zukeeper - Native devtools with state and action tracking, diffing, tree display, and time travel
  • zustand-ards - 💁 Simple opinionated utilities for example alternative selector formats and default shallow hooks
  • zustand-constate — Context-based state management based on Zustand and taking ideas from Constate.
  • zustand-computed — A Zustand middleware to create computed states.
  • zustand-di - use react props to init zustand stores
  • zustand-forms — Fast, type safe form states as Zustand stores.
  • 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-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-vue - State management for vue (Vue3 / Vue2) based on 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.