Skip to content
queryKey

queryKey是缓存的核心,它是一个数组,用作查询的唯一标识符。具有相同queryKey的查询会共享相同的缓存数据。

ts
// 基础用法
useQuery({ queryKey: ['todos'], queryFn: fetchTodos })

// 带参数的queryKey
useQuery({ queryKey: ['todo', id], queryFn: () => fetchTodoById(id) })
ts
/todos -> ['todos']
/todos/1 -> ['todos', todo.id]
/todos/2/tasks -> ['todos', todo.id, 'tasks']
/todos?authorId=3 -> ['todos', { authorId: 3 }]
缓存生命周期
  • staleTime:数据从新鲜到过时的时间(默认为0)
  • gcTime(cacheTime):缓存数据被垃圾回收的时间(默认5分钟)
ts
useQuery({
  queryKey: ['posts'],
  queryFn: getPosts,
  staleTime: 1000 * 60, // 1分钟内数据保持新鲜
  gcTime: 1000 * 60 * 5 // 5分钟后垃圾回收
})
本站访客数 人次 本站总访问量