使用其他地方的refetchInterval更新定期反应查询的缓存



对于计数器,我使用refetchInterval选项通过react查询定期轮询后端:

const { items } = useQuery(
["queryKey"],
requestFn,
{
refetchInterval: 5000,
}
);
...
<Counter>{items.length}</Counter>

唉,当我添加或删除一个项目时,它需要长达5秒才能反映在计数器中。

如何强制计数器立即更新?

我曾想过在添加/删除例程之后用相同的键触发一次查询,但它不起作用。

addItem().then(() => useQuery(
["queryKey"],
requestFn,
))

您可能希望在运行突变后执行queryClient.invalidateQueries(["queryKey"]),因为这将立即重新获取新数据。此处记录了这一点:https://tanstack.com/query/v4/docs/guides/invalidations-from-mutations

最新更新