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