Utils
这是可以在 jotai/utils
下找到的 atom creators/hooks utils 的概述。 下面列出了每个实用程序及其 描述/API 的链接。
概览
atomWithStorage
函数创建一个原子,其值保存在用于 React 的localStorage
或sessionStorage
或用于 React Native 的AsyncStorage
中。atomWithObservable
函数从 RxJS(或类似的)subject
或observable
创建一个原子。 它的值将是从流中发出的最后一个值。使用 useUpdateAtom 和只写原子来避免重新渲染。
返回给定原子的值。
创建一个可以使用
useResetAtom
hook 重置为其initialValue
的原子。将 Resettable 原子重置为其初始值。
如果接受
RESET
符号,则由使用atomWithReset
、atomWithDefault
创建的可重置原子或使用 atom 创建的可写原子接受的特殊值。使用此 hook 通过 reducer 函数更新原子值。
这是一个创建具有嵌入式 reducer 函数以更新值的原子的函数。
这是一个创建可重写原始原子的函数。 它的默认值可以用读取函数而不是静态初始值来指定。
这将创建一个与 URL 哈希连接的新原子 。
这将创建一个接受参数并返回原子的函数。
此函数创建一个派生原子,其值是原始原子值的函数,由
selector
确定。这个 hook 允许命令式地与原子交互。
freezeAtom
接受一个现有的原子并返回一个新的派生原子。 新派生原子的值将被冻结(即不可变)。freezeAtomCreator
不是从现有原子创建冻结原子,而是采用原子创建函数并返回一个新函数。当您想要为列表中的每个元素获取一个原子时,
splitAtom
很有用。waitForAll
是一个并发 helper,它允许我们等待多个异步原子。useHydrateAtoms
的主要用例是像 Next.js 这样的 SSR 应用程序,其中初始值是例如 在服务器上获取,可以通过 props 传递给组件。loadable
API 将允许您绕过 Jotai 中异步流核心发生的固有 suspense。 用loadable
包裹你的原子,你可以直接得到你的异步原子的结果作为一个对象,它有一个状态来告诉你 Promise 是否已经解决甚至失败。abortableAtom
用于定义具有中止性的派生原子。