在阅读本指南前,请务必先通读重要默认配置
这个缓存示例演示了以下场景及其生命周期:
假设我们使用默认的 gcTime(5分钟)和默认的 staleTime(0)。
首次挂载 useQuery({ queryKey: ['todos'], queryFn: fetchTodos }):
在其他位置挂载第二个 useQuery({ queryKey: ['todos'], queryFn: fetchTodos }) 实例:
当两个 useQuery({ queryKey: ['todos'], queryFn: fetchTodos }) 实例都卸载且不再使用时:
在缓存超时完成前,再次挂载 useQuery({ queryKey: ['todos'], queryFn: fetchTodos }):
最后一个 useQuery({ queryKey: ['todos'], queryFn: fetchTodos }) 实例卸载。
在 5分钟 内没有出现新的 useQuery({ queryKey: ['todos'], queryFn: fetchTodos }) 实例: