Zustand 源码深度解析
基于 Zustand 5.0.x 源码,说明架构、React 集成、中间件与并发安全。文档以概念、流程、对照表为主;实现细节指向 src/vanilla.ts、src/react.ts、src/middleware/,不堆砌大段源码。
阅读顺序
| 顺序 | 文档 | 关注点 |
|---|---|---|
| 1 | 核心架构概述 | 分层、与 Redux/Context 对比 |
| 2 | Vanilla Store | setState / subscribe 闭包模型 |
| 3 | React 集成 | useSyncExternalStore、选择器 |
| 4 | 中间件 | 组合、set/get 增强 |
| 5 | 状态更新 | 浅合并、replace |
| 6 | 并发安全 | tearing、僵尸子组件 |
| 7 | 性能优化 | 选择器、useShallow、拆 store |
| 8 | 设计决策 | 为何无 Provider、为何用外部 store API |
| 9 | 常见问题 | 无限循环、SSR、v5 迁移 |
与 React 并发模型交叉阅读:useSyncExternalStore、Scheduler。
版本
- Zustand: 5.0.11
- React: >= 18.0.0