【发布时间】:2020-12-20 02:02:15
【问题描述】:
我已经为每个文档配置了具有无限陈旧时间的 react-query,如下所示:
<ReactQueryConfigProvider config={{
queries: {
staleTime: Infinity
}
}}>
我的大多数查询都不会过时,除了一个,我的“个人资料”查询:
const getProfile = async () => {
if (!isAuthenticated()) {
return null;
}
try {
const response = await axios.get('/user/profile');
return response.data;
}
catch (error) {
errorCheck(error);
}
};
export const useProfile = () =>
useQuery('profile', getProfile);
这是保存当前用户个人资料的查询。 isAuthenticated() 是一个同步调用,用于检查我们是否有用户令牌(所以我不会进行我知道会失败的 API 调用)。
由于某种原因,在 react-query devtools 窗口中,此查询立即显示为过时。我真的看不出我对这个有什么不同。有什么调试建议吗?
【问题讨论】:
-
也许稍微简化一下代码会有所帮助。看看
getPokemonList这里:codeworkshop.dev/blog/… -
你有解决这个问题的办法吗,吉姆?
-
不,仍然是个问题。它并没有完全阻止我,但我不知道这是由什么引起的。
-
是的,在下面添加了我的解决方案作为答案。
标签: reactjs axios react-query