React Query useQuery正在缓存响应



我有以下代码

const { 
isLoading, 
error, 
data: calculatorProducts 
} = useQuery('fetchSomething', ()=> fetchFunc())

当我访问主页时应该调用此函数,但当从另一个页面返回到此路由时,不会触发此请求,也不会获得新的数据。我想要的是每次都像useEffect 一样调用这个查询

如果缓存中有数据,则始终返回缓存中的

数据。此外,在某些情况下,react查询将在后台更新过时的查询,例如当组件装载时。这种技术在重新验证时被称为过时技术。

默认情况下,所有查询都会立即过时,因此,如果您从不同的页面转到路由,则应该从缓存中获取数据,并且仍然可以在devtools中看到请求。如果没有,那么可能您的组件并没有真正安装?

如果希望在卸载所有使用此数据的组件时从缓存中删除数据,可以设置cacheTime: 0。但这意味着当您返回时,将使用微调器进行硬加载,这就是react查询试图避免的原因

目前,初始数据是缓存的,因此您还必须设置:initialData: undefined这使我的数据变得新鲜(它将undefined作为缓存的初始数据,所以每次它都会获取新鲜的数据,因为缓存是"空的"(

最新更新