跳至主要內容

noWait(狀態)

一個選取器輔助工具,會傳回所提供的 atomselector 的目前狀態的 Loadable

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];
}
})