【问题标题】:Remove query from cache without refetching react query从缓存中删除查询而不重新获取反应查询
【发布时间】:2021-01-04 16:14:29
【问题描述】:

我以这种方式在我的反应应用程序中使用反应查询

    const { data, status } = useQuery(key, queryFunc, { staleTime: 1 * 60 * 1000 });

我希望能够根据数据值使缓存中的某个键无效,基本上是在数据为空的情况下,所以我添加了一个效果

useEffect(() => {
   if (data === null) {
     queryClient. invalidateQueries(key)
   }
}, [data])

这种方法将导致一个请求循环,其中无效的查询将重新获取,获取 null 作为响应,效果执行和无效等等......

我希望能够在不重新获取的情况下从缓存中删除密钥,所以我不会陷入这个无限请求循环,一直在研究反应查询文档但没有运气。无论如何,在 react 查询中有类似的情况,需要从缓存中删除密钥而不重新获取?

【问题讨论】:

    标签: javascript reactjs react-query


    【解决方案1】:

    我认为queryClient.removeQueries(key) 会做你想做的事:https://react-query.tanstack.com/reference/QueryClient#queryclientremovequeries

    您能否详细说明一下您的用例?如果数据为空,为什么要从缓存中删除查询?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 2013-10-08
      • 1970-01-01
      • 2010-12-23
      相关资源
      最近更新 更多