React-Query useQuery 正在缓存响应

how*_*itz 1 javascript request reactjs axios react-query

我有以下代码

const { 
   isLoading, 
   error, 
   data: calculatorProducts 
} = useQuery('fetchSomething', ()=> fetchFunc())
Run Code Online (Sandbox Code Playgroud)

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

TkD*_*odo 7

如果缓存中有数据,则始终返回缓存中的数据。此外,react-query 将在某些情况下在后台更新过时的查询,例如当组件安装时。这种技术称为“重新验证时陈旧”。

\n

默认情况下,所有查询都会立即过时,因此,如果您从不同页面转到路由,您应该从缓存中获取数据,并且仍然会在开发工具中看到请求。如果没有,那么也许您的组件并未真正安装\xe2\x80\x99?

\n

如果您希望在所有使用该数据的组件卸载时从缓存中删除数据,您可以设置cacheTime: 0. 但这意味着当你回来时,你\xe2\x80\x99将通过旋转器硬加载,这正是react-query试图避免的

\n