Hob*_*ire 19 javascript reactjs react-query
我以这种方式在我的反应应用程序中使用反应查询
const { data, status } = useQuery(key, queryFunc, { staleTime: 1 * 60 * 1000 });
Run Code Online (Sandbox Code Playgroud)
我希望能够根据数据值使缓存中的某个键无效,基本上是当数据为空时,所以我添加了一个效果
useEffect(() => {
if (data === null) {
queryClient. invalidateQueries(key)
}
}, [data])
Run Code Online (Sandbox Code Playgroud)
这种方法将导致请求循环,其中无效的查询将重新获取,获取 null 作为响应,效果执行并无效等等......
我希望能够从缓存中删除密钥而不需要重新获取,所以我不会陷入这个无限请求循环,一直在深入研究反应查询文档,但没有运气。无论如何,反应查询也有类似的情况,其中密钥需要从缓存中删除而不重新获取?
TkD*_*odo 25
我认为queryClient.removeQueries(key)会做你想做的事:https ://react-query.tanstack.com/reference/QueryClient#queryclientremovequeries
您能否详细说明一下您的用例?如果数据为空,为什么要从缓存中删除查询?
从缓存中删除特定查询
queryClient.removeQueries({ queryKey: QUERY_KEY });
Run Code Online (Sandbox Code Playgroud)
从缓存中删除所有查询
queryClient.removeQueries();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
52056 次 |
| 最近记录: |