# Zustand Zustand is a small, fast, and scalable state management library for [[React]], built by the pmndrs collective. Licensed under MIT. The name means "state" in German. The core idea is that the global store is just a hook. You define a store with a function that returns both state and actions, and any component can read or update it by calling that hook and selecting only the slice it needs. No Provider wrapper required, no boilerplate. ## Key features - Hook-based API with no Provider needed - Minimal boilerplate compared to Redux - Selective re-renders via slice selectors - Supports async actions natively - Middleware system (logging, devtools, persistence, Immer) - [[TypeScript]] support - Works with [[React]], [[Next.js]], and other React-based frameworks - Small bundle size ## Basic usage ```typescript import { create } from 'zustand' const useStore = create((set) => ({ count: 0, increment: () => set((state) => ({ count: state.count + 1 })), })) // In a component const count = useStore((state) => state.count) ``` ## References - Documentation: https://zustand-demo.pmnd.rs/ - Source code: https://github.com/pmndrs/zustand - npm: https://www.npmjs.com/package/zustand ## Related - [[React]] - [[Next.js]]