The MutationCache 是 mutation 的存储。
通常,您不会直接与 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 返回缓存中的所有 mutation。
注意:这通常不是大多数应用程序所必需的,但在极少数情况下需要有关 mutation 的更多信息时,可能会派上用场
const mutations = mutationCache.getAll()
const mutations = mutationCache.getAll()
返回值
subscribe 方法可用于订阅 mutation 缓存的整体,并获知对缓存的安全/已知更新,例如 mutation 状态更改或 mutation 被更新、添加或删除。
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()