我以这种方式在我的反应应用程序中使用反应查询
const { data, status } = useQuery(key, queryFunc, { staleTime: 1 * 60 * 1000 });
我希望能够根据数据值使缓存中的某个键无效,基本上是当数据为空时,所以我添加了一个效果
useEffect(() => {
if (data === null) {
queryClient. invalidateQueries(key)
}
}, [data])
这种方法将导致请求循环,其中无效的查询将重新获取,获取 null 作为响应,执行效果和无效等等......
我希望能够在不重新获取的情况下从缓存中删除密钥,所以我不会陷入这个无限请求循环,一直在研究反应查询文档但没有运气。无论如何,反应查询有类似的情况,需要从缓存中删除密钥而不重新获取?