[英]invalidateQueries stops working if I navigate between Next.js routes
我們使用queryClient.invalidateQueries(someQueryKey)
來重新獲取查詢中的數據,並且效果很好。 項目遷移到Next.js
和路由器從react-router
更改為next-router
代碼庫保持最大相同,除了路由器更改。
現在,如果我從一條路線導航到另一條路線,然后返回 go, queryClient.invalidateQueries(someQueryKey)
停止工作,所有其他查詢調用都可以正常工作,因為它應該使用 Queris 和 useMutations。
奇怪的是,當我在頁面之間導航時,查詢從Query Dev Tools
中消失但繼續工作,除了queryClient.invalidateQueries()
。 如果我刷新頁面Query Dev Tools
開始向我顯示正確的查詢,並且它開始正常工作,直到我導航到另一條路線並返回。
如果有人可以幫助我解決這個問題,我將不勝感激。 讓我知道是否需要任何其他信息。
討論移至: https://github.com/tannerlinsley/react-query/discussions/3037
答案:以下似乎解決了這個問題,確實,前一個每次都創建一個新客戶端,所以我認為這就是查詢失效無法正常工作的原因:
export function useReactQueryClient() {
const [queryClient] = React.useState(function () {
return new QueryClient({
defaultOptions: {
queries: {
onError(err) {
// ....
},
},
},
});
});
return queryClient;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.