本页还没有译文
本页 23 段还没译成한국어,下面显示的是英文原文。MutationCache
还没翻译译自英文(tanstack.com)本页 23 段都还没译
The MutationCache is the storage for mutations.
Normally, you will not interact with the MutationCache directly and instead use the QueryClient.
import { MutationCache } from 'react-query'
const mutationCache = new MutationCache({
onError: error => {
console.log(error)
},
onSuccess: data => {
console.log(data)
},
})Its available methods are:
Options
onError?: (error: unknown, variables: unknown, context: unknown, mutation: Mutation) => void- Optional
- This function will be called if some mutation encounters an error.
onSuccess?: (data: unknown, variables: unknown, context: unknown, mutation: Mutation) => void- Optional
- This function will be called if some mutation is successful.
onMutate?: (variables: unknown, mutation: Mutation) => void- Optional
- This function will be called before some mutation executes.
Global callbacks
The onError, onSuccess and onMutate callbacks on the MutationCache can be used to handle these events on a global level. They are different to defaultOptions provided to the QueryClient because:
defaultOptionscan be overridden by each Mutation - the global callbacks will always be called.onMutatedoes not allow returning a context value.
mutationCache.getAll
getAll returns all mutations within the cache.
Note: This is not typically needed for most applications, but can come in handy when needing more information about a mutation in rare scenarios
const mutations = mutationCache.getAll()Returns
Mutation[]- Mutation instances from the cache
mutationCache.subscribe
The subscribe method can be used to subscribe to the mutation cache as a whole and be informed of safe/known updates to the cache like mutation states changing or mutations being updated, added or removed.
const callback = mutation => {
console.log(mutation)
}
const unsubscribe = mutationCache.subscribe(callback)Options
callback: (mutation?: Mutation) => void- This function will be called with the mutation cache any time it is updated.
Returns
unsubscribe: Function => void- This function will unsubscribe the callback from the mutation cache.
mutationCache.clear
The clear method can be used to clear the cache entirely and start fresh.
mutationCache.clear()