用途:在 React 应用中使用 Jotai 实现基于 atom 的状态管理,适用于 atom 设计、派生与异步 atom、atomFamily、性能优化、TypeScript 类型处理、测试与调试等场景。
主要能力:核心概念包括 atom(状态最小单位,值存于 Store);基础 atom、派生只读/读写 atom、只写 action atom。Hooks 提供 useAtom(读写)、useAtomValue(只读)、useSetAtom(只写)。
常见实现模式:Feature Module 中隐藏 base atom、仅导出派生 atom 与 action atom;异步 atom 结合 Suspense 与 Error Boundary;atomFamily 动态生成并缓存 atom,需用 remove() 或 setShouldRemove() 防内存泄漏;atomWithStorage 实现 localStorage/sessionStorage 持久化;atomWithReset、useResetAtom 与 RESET 实现重置。
性能优化:selectAtom 从大对象中只订阅部分字段,需稳定引用;splitAtom 将数组元素拆为独立 atom。
TypeScript:优先依赖类型推断,必要时显式标注,可用 ExtractAtomValue 提取类型。
测试:借助 Provider、useHydrateAtoms 注入初始值,配合 @testing-library/react 与 user-event 编写贴近用户操作的测试。
调试:设置 atom.debugLabel,使用 jotai-devtools 的 useAtomsDebugValue 与 useAtomDevtools 接入 Redux DevTools。
限制:资料未提供安装命令、版本要求、收费与价格、平台支持、性能数据及与其他状态管理库的对比;也暂未提供 patterns.md 与 api.md 的具体内容,使用前需自行确认相关环境与版本。