5月29日 22:40
Zustand 中如何用 TypeScript 确保类型安全?
定义 interface StoreState 声明所有状态和 action 类型,create
追问
set 的类型怎么写才不报错?
set 接受 Partial
selector 类型怎么保证?
useStore(s => s.count) 自动推断为 number。复杂 selector 用 shallow 比较避免重复渲染。不要写 useStore
persist middleware 的泛型怎么传?
persist
多个 slice 怎么组织类型?
按功能拆分文件,每个 slice 导出自己的 interface 和 create,主 store 用组合模式合并。
和 Jotai 的类型体验比呢?
Jotai 的 atom 天然类型安全,不需要额外泛型。Zustand 需要手动传泛型但更灵活。两者都能做到完全类型安全。