跳到主要内容

noWait(state)

一个选择器助手,它将返回一个 Loadable 用于提供的 atomselector 的当前状态。

function noWait<T>(state: RecoilValue<T>): RecoilValueReadOnly<Loadable<T>>

这个助手可以用来获取潜在异步依赖项的当前状态,而不会在出现错误或依赖项仍处于挂起状态时抛出错误。它类似于 useRecoilValueLoadable(),不同之处在于它是一个选择器而不是一个钩子。因为 noWait() 返回一个选择器,所以它反过来也可以被其他 Recoil 选择器以及钩子使用。

示例

const myQuery = selector({
key: 'MyQuery',
get: ({get}) => {
const loadable = get(noWait(dbQuerySelector));

return {
hasValue: {data: loadable.contents},
hasError: {error: loadable.contents},
loading: {data: 'placeholder while loading'},
}[loadable.state];
}
})