TanStack Query 中的某些方法接受 QueryFilters 或 MutationFilters 对象。
查询过滤器是一个具有某些条件的对象,用于匹配查询:
// 取消所有查询
await queryClient.cancelQueries()
// 删除所有以 `posts` 开头的非活动查询
queryClient.removeQueries({ queryKey: ['posts'], type: 'inactive' })
// 重新获取所有活动查询
await queryClient.refetchQueries({ type: 'active' })
// 重新获取所有以 `posts` 开头的活动查询
await queryClient.refetchQueries({ queryKey: ['posts'], type: 'active' })
// 取消所有查询
await queryClient.cancelQueries()
// 删除所有以 `posts` 开头的非活动查询
queryClient.removeQueries({ queryKey: ['posts'], type: 'inactive' })
// 重新获取所有活动查询
await queryClient.refetchQueries({ type: 'active' })
// 重新获取所有以 `posts` 开头的活动查询
await queryClient.refetchQueries({ queryKey: ['posts'], type: 'active' })
查询过滤器对象支持以下属性:
变更过滤器是一个具有某些条件的对象,用于匹配变更:
// 获取所有正在进行的变更数量
await queryClient.isMutating()
// 按变更键过滤变更
await queryClient.isMutating({ mutationKey: ['post'] })
// 使用谓词函数过滤变更
await queryClient.isMutating({
predicate: (mutation) => mutation.state.variables?.id === 1,
})
// 获取所有正在进行的变更数量
await queryClient.isMutating()
// 按变更键过滤变更
await queryClient.isMutating({ mutationKey: ['post'] })
// 使用谓词函数过滤变更
await queryClient.isMutating({
predicate: (mutation) => mutation.state.variables?.id === 1,
})
变更过滤器对象支持以下属性:
const isMatching = matchQuery(filters, query)
const isMatching = matchQuery(filters, query)
返回一个布尔值,指示查询是否与提供的查询过滤器集匹配。
const isMatching = matchMutation(filters, mutation)
const isMatching = matchMutation(filters, mutation)
返回一个布尔值,指示变更是否与提供的变更过滤器集匹配。