Zustand

Web & Desktop Frontend Technologies
Zustand
Zustand is a tiny, unopinionated state management library for React. It delivers a single hook, no boilerplate, no providers, and a fraction of Redux's surface area — making it the default 2026 pick for app-wide state that doesn't belong in React Context.
What is it?
Zustand is a ~1 KB state-management primitive for React from the pmndrs (Poimandres) collective. A store is a single hook created with `create()`; components subscribe to slices and only re-render when their slice changes. No reducers, no action types, no Providers — just plain TypeScript functions.
What does it do?
Zustand exposes a hook-first API for global state, computed selectors, async actions, middleware (persist, devtools, immer, subscribeWithSelector), and transient updates outside React's render cycle. It plays nicely with React 19 concurrent rendering, Next.js App Router, and Server Components — the SSR story is first-class.
Where is it used?
Zustand powers the state layer of thousands of production React apps — including Vercel's own properties, Three.js/React Three Fiber demos, and most of the pmndrs ecosystem. Teams adopt it when Redux feels heavyweight, Context re-renders are bleeding performance, and they want state that 'just works' without architectural ceremony.
When & why it emerged
Zustand was released in 2019 by Daishi Kato and the pmndrs crew to answer the question 'do we really need 2 KB of Redux boilerplate for a shopping cart?'. By 2024 it had overtaken Redux Toolkit in new React project adoption; 2026 data puts it ahead of Recoil, Jotai, and MobX for apps that prefer a single, pragmatic store over multi-atom approaches.
Why we use it at Internative
Zustand is our default for client-side state in every Next.js app we ship. It integrates cleanly with React Server Components (keep server state on the server, client state in Zustand), survives HMR without losing state, and its selector-based subscriptions eliminate the 'whole tree re-renders' problem that plagues naive Context usage. Small stores, small bundle, large productivity.