[英]How can I check the react-query queries before execute?
例如,我有這個查詢來獲取一個列表:
const list = useQuery('list', fetcher);
但是我需要在 react-query 執行之前進行預檢查 function 之類的東西,我的意思是這樣的:
const appQueryClient = new QueryClient({
defaultOptions: {
queries: {
checkSomethingBeforeExecute: () => {
if (itShouldExecute) {
return true; // start fetching
} else {
return false; // don't fetch and abort query
}
}
},
},
});
事實上,那個checkSomethingBeforeExecute
是我的想法......但我正在尋找任何選項或技巧來實現類似的東西。 如果您還記得的話,有一個select
選項可以在提取后轉換數據,但是在從提取器 function 開始之前,我需要一些東西來確定查詢執行。
謝謝
如果您的查詢尚未准備好執行,則enabled
的選項就是您要查找的內容:
https://react-query.tanstack.com/guides/dependent-queries
如果您想“不獲取”和“中止”查詢(不確定此處中止是什么意思),您可以從您的 queryFn 返回一個被拒絕的 Promise:
useQuery(key, () => {
if (itShouldExecute) {
return axios.get(...)
}
return Promise.reject(new Error("something error"))
})
請注意,這會將查詢置於錯誤 state 並可能觸發重試。 啟用的選項根本不會運行 queryFn 並將您的查詢放入idle
state。 我認為這是兩個可用的選項。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.