noWait(state)
一个 selector helper 方法,返回值为代表所提供的 atom
或 selector
当前状态的 Loadable
。
function noWait<T>(state: RecoilValue<T>): RecoilValueReadOnly<Loadable<T>>
此 helper 方法可用于获取潜在异步依赖项的当前状态,在出现错误或依赖项仍然处于 pending 时不会抛出。它类似于 useRecoilValueLoadable()
,只不过它是一个 selector,而并非一个钩子函数。因为 noWait()
返回一个 selector,所以它可以被其他 Recoil selectors 以及钩子所使用。
#
示例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]; }})