首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果我在Next.js路由之间导航,invalidateQueries将停止工作

如果我在Next.js路由之间导航,invalidateQueries将停止工作
EN

Stack Overflow用户
提问于 2021-12-01 14:43:14
回答 1查看 81关注 0票数 0

我们使用queryClient.invalidateQueries(someQueryKey)来检索查询中的数据,并且它工作得很好。迁移到Next.js的项目和从react-routernext-router代码库的路由器更改除了路由器更改之外,最大限度地保持不变。

现在,如果我从一条路线导航到另一条路线,然后返回,queryClient.invalidateQueries(someQueryKey)停止工作,所有其他查询调用都像它应该执行的useQueris和useMutations一样工作。

奇怪的是,当我在页面之间导航时,除了queryClient.invalidateQueries()之外,查询从Query Dev Tools中消失了,但仍在继续工作。如果我刷新页面,Query Dev Tools将开始向我显示正确的查询,并开始正常工作,直到我导航到另一条路线并返回。

如果有人能帮我解决这个问题,我将不胜感激!如果需要任何其他信息,请让我知道。

EN

回答 1

Stack Overflow用户

发布于 2021-12-03 10:32:28

讨论转移到https://github.com/tannerlinsley/react-query/discussions/3037

回答:以下似乎解决了这个问题,实际上,前一个每次都会创建一个新的客户端,所以我假设这就是查询无效不能正常工作的原因:

代码语言:javascript
复制
export function useReactQueryClient() { 
  const [queryClient] = React.useState(function () {
    return new QueryClient({
      defaultOptions: {
        queries: {
          onError(err) {
            // ....
          },
        },
      },
    });
  });

  return queryClient;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70186229

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档