【发布时间】:2021-02-14 14:24:55
【问题描述】:
我正在使用QueryCache.refetchQueries 重新获取 ID 为 'fetchProducts' 的查询,但它失败了。????
然后我看到 react-query 迁移到 3.0 版并进行了一些更改。我在文档中看到了一个重新获取查询代码示例queryClient.invalidateQueries('fetchProducts') 并使用了它,但仍然需要刷新页面才能查看最新更改。
react-devtools 截图:
(这表明查询保存在缓存中,id 为 fetchProducts,但在突变成功响应后无法重新获取)
【问题讨论】:
-
您使用的是“正确的”
queryClient- 我的意思是 - 您是通过以下方式检索到的:const queryClient = useQueryClient()吗?另一件事:您的屏幕截图从字面上显示查询当前正在获取(由右上角的蓝色 1 和蓝色fetching徽章表示),所以我认为您的查询可能正在正确地重新获取。也许它出错或有重试,因此需要更长的时间。您是否检查了您的网络选项卡中的传出请求? -
当我离开浏览器窗口并返回时,它只会重新获取最新的项目。
-
这不能回答我的问题:queryClient 从哪里来的时候:
queryClient.invalidateQueries('fetchProducts')?
标签: reactjs frontend react-query