MutationCache 是变更的存储。
通常,您不会直接与 MutationCache 交互,而是使用 QueryClient。
import { MutationCache } from '@tanstack/react-query'
const mutationCache = new MutationCache({
onError: (error) => {
console.log(error)
},
onSuccess: (data) => {
console.log(data)
},
})
import { MutationCache } from '@tanstack/react-query'
const mutationCache = new MutationCache({
onError: (error) => {
console.log(error)
},
onSuccess: (data) => {
console.log(data)
},
})
其可用方法有:
选项
MutationCache 上的 onError、onSuccess、onSettled 和 onMutate 回调可用于在全局级别处理这些事件。它们与提供给 QueryClient 的 defaultOptions 不同,因为:
getAll 返回缓存中的所有变更。
注意:这对于大多数应用程序来说通常不是必需的,但在极少数情况下需要有关变更的更多信息时会很有用
const mutations = mutationCache.getAll()
const mutations = mutationCache.getAll()
返回值
subscribe 方法可用于订阅整个变更缓存,并获知缓存的安全/已知更新,例如变更状态更改或变更被更新、添加或删除。
const callback = (event) => {
console.log(event.type, event.mutation)
}
const unsubscribe = mutationCache.subscribe(callback)
const callback = (event) => {
console.log(event.type, event.mutation)
}
const unsubscribe = mutationCache.subscribe(callback)
选项
返回值
clear 方法可用于完全清除缓存并重新开始。
mutationCache.clear()
mutationCache.clear()