用途:为 React 应用提供轻量、灵活的状态管理,聚焦客户端全局状态、持久化状态和计算值。明确不适用于服务端状态(建议用 TanStack Query)、表单状态(建议用 React Hook Form)和 URL 状态(建议用路由参数)。
主要能力:用 create 定义 store,包含状态与操作(如 login、logout、updateUser);组件中按需选择状态以避免多余渲染;用 persist 中间件把设置持久化到 localStorage,并通过 partialize 控制持久化字段;用 get() 实现计算值而不存储派生状态;用 immer 中间件直接做不可变更新;用 slices 模式拆分大型 store;用 zustand/shallow 的 shallow 做浅比较选择;可在 React 之外通过 useAuthStore.getState() 访问状态。
使用方式:文档给出示例文件如 store/useAuthStore.ts、store/useSettingsStore.ts、store/useCartStore.ts、store/slices/userSlice.ts 等,均使用 import { create } from 'zustand',中间件路径为 zustand/middleware 和 zustand/middleware/immer,浅比较为 import { shallow } from 'zustand/shallow'。
最佳实践:每个领域一个 store,选择具体状态而非整个 store,设置类数据用 persist 持久化,敏感数据不要持久化,派生状态用 get() 计算而非存储。
限制:资料为模式说明与代码示例,未提供安装命令、版本要求、性能数据、收费信息或平台限制,这些暂未提供。