Jotai 是一个用于 React 的原子化状态管理库,由日本开发者 Daishi Kato 创建。它把状态拆分成一个个最小的原子(atom),组件只订阅自己用到的原子,从而实现细粒度的按需更新,API 极简且原生支持 TypeScript。

| 类型 | React 状态管理库 |
| 作者 | Daishi Kato |
| 模型 | 原子化(atomic) |
| 语言 | TypeScript |
| 特点 | 细粒度更新 |
Jotai 是一个面向 React 的原子化(atomic)状态管理库,名字取自日语中的状态一词。它由 Daishi Kato 主导开发,核心思想是把全局状态拆解成许多互相独立的最小单元——原子(atom),组件通过读取原子来订阅状态,只有相关原子变化时对应组件才会重新渲染。
传统的集中式状态库(如 Redux)把所有状态放进一棵大对象树,容易产生不必要的重渲染并需要大量样板代码。Jotai 借鉴了 Recoil 的原子模型,但 API 更精简、体积更小,没有字符串 key 的约束。它与 React 的 Suspense、并发特性天然契合,并可搭配 Zustand、Valtio 等同一作者的其它库使用。
Jotai 适合需要细粒度状态、又希望避免 Redux 样板代码的 React 项目,例如表单、图形编辑器、仪表盘等状态点分散的界面。由于原子可自由组合,它也常用于把服务端数据、本地 UI 状态与派生计算统一管理。对于中小型应用,它能以很低的心智负担替代大型状态框架。
问:Jotai 和 Recoil 有什么区别?答:两者都采用原子模型,但 Jotai 不依赖字符串 key,API 更小巧,且不强制包裹专用 Provider,整体更轻量、更贴近 React 原生写法。
问:Jotai 会引起大量重渲染吗?答:不会。组件只订阅它实际读取的原子,某个原子变化只会触发用到该原子的组件更新,这正是原子化模型的优势。

| 类型 | React 状态管理库 |
| 作者 | Daishi Kato |
| 模型 | 原子化(atomic) |
| 语言 | TypeScript |
| 特点 | 细粒度更新 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧