SuperAPI AI 工具集

1k-state-management

通用与其它

查看项目

更新于 10-16 02:38

技能介绍

用途:为 OneKey 应用仓库提供统一的 Jotai 状态管理规范,规定原子(atom)的组织结构、命名与存放位置,避免随意创建原子导致状态管理混乱。

主要能力与结构:项目只允许两种原子模式。一是全局状态原子 globalAtom,用于应用级、可持久化状态,位于 packages/kit-bg/src/states/jotai/atoms/,配合 EAtomNames 标准化命名,示例文件有 settings.ts、account.ts、hardware.ts、currency.ts。二是功能级状态原子 contextAtom,用于某功能或模块内部、可能被该功能多个组件共享的状态,位于 packages/kit/src/states/jotai/contexts/[feature_name]/atoms.ts,通过 createJotaiContext 创建,目录内通常包含 atoms.ts(状态定义)、actions.ts(状态操作)、index.ts(导出)。

选用准则:需要跨应用重启持久化、被多个主要功能使用、影响整个应用(如设置、认证)时用 globalAtom;仅属于某功能或模块、临时或会话级、在相关组件间共享时用 contextAtom。

使用方式:创建全局原子时从 ../utils 引入 globalAtom,从 ../atomNames 引入 EAtomNames,传入 name、initialValue,需要持久化时设 persist: true。创建上下文原子时从 ../../utils 引入 createJotaiContext,解构出 contextAtom 与 useContextAtom,用 contextAtom 定义状态并导出 hook。组件中按需使用 jotai 的 useAtom(读写)、useAtomValue(只读)、useSetAtom(只写)。

限制与禁止:不得在 packages/kit/src/views/ 下创建原子目录,不得在组件目录中创建独立原子文件,不得在无架构理由时混用 globalAtom 与 contextAtom,也不得在这两种既定结构之外创建自定义原子模式或使用普通 Jotai 原子。资料未提供安装命令、版本要求及更多配置细节。