簡體   English   中英

如果我在 Next.js 路線之間導航,invalidateQueries 將停止工作

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM