
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) => voidonSuccess?: (data: unknown, variables: unknown, context: unknown, mutation: Mutation) => voidThe onError and onSuccess 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:
defaultOptions can be overridden by each Mutation - the global callbacks will always be called.mutationCache.getAllgetAll 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[]mutationCache.subscribeThe 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) => voidReturns
unsubscribe: Function => voidmutationCache.clearThe clear method can be used to clear the cache entirely and start fresh.
mutationCache.clear()
The latest TanStack news, articles, and resources, sent to your inbox.