Framework
Version

MutationCache

Die MutationCache ist der Speicher für Mutationen.

Normalerweise interagieren Sie nicht direkt mit der MutationCache, sondern verwenden stattdessen die QueryClient.

tsx
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)
  },
})

Ihre verfügbaren Methoden sind

Optionen

  • onError?: (error: unknown, variables: unknown, context: unknown, mutation: Mutation) => Promise<unknown> | unknown
    • Optional
    • Diese Funktion wird aufgerufen, wenn eine Mutation einen Fehler hat.
    • Wenn Sie ein Promise daraus zurückgeben, wird es abgewartet.
  • onSuccess?: (data: unknown, variables: unknown, context: unknown, mutation: Mutation) => Promise<unknown> | unknown
    • Optional
    • Diese Funktion wird aufgerufen, wenn eine Mutation erfolgreich war.
    • Wenn Sie ein Promise daraus zurückgeben, wird es abgewartet.
  • onSettled?: (data: unknown | undefined, error: unknown | null, variables: unknown, context: unknown, mutation: Mutation) => Promise<unknown> | unknown
    • Optional
    • Diese Funktion wird aufgerufen, wenn eine Mutation beendet wurde (entweder erfolgreich oder mit einem Fehler).
    • Wenn Sie ein Promise daraus zurückgeben, wird es abgewartet.
  • onMutate?: (variables: unknown, mutation: Mutation) => Promise<unknown> | unknown
    • Optional
    • Diese Funktion wird aufgerufen, bevor eine Mutation ausgeführt wird.
    • Wenn Sie ein Promise daraus zurückgeben, wird es abgewartet.

Globale Callbacks

Die Callbacks onError, onSuccess, onSettled und onMutate auf der MutationCache können verwendet werden, um diese Ereignisse auf globaler Ebene zu behandeln. Sie unterscheiden sich von defaultOptions, die der QueryClient bereitgestellt werden, weil

  • defaultOptions von jeder Mutation überschrieben werden können – die globalen Callbacks werden **immer** aufgerufen.
  • onMutate erlaubt nicht die Rückgabe eines Kontextwertes.

mutationCache.getAll

getAll gibt alle Mutationen im Cache zurück.

Hinweis: Dies ist für die meisten Anwendungen normalerweise nicht erforderlich, kann aber in seltenen Fällen nützlich sein, wenn mehr Informationen über eine Mutation benötigt werden.

tsx
const mutations = mutationCache.getAll()
const mutations = mutationCache.getAll()

Gibt zurück

  • Mutation[]
    • Mutationsinstanzen aus dem Cache

mutationCache.subscribe

Die Methode subscribe kann verwendet werden, um den Mutations-Cache als Ganzes zu abonnieren und über sichere/bekannte Updates des Caches informiert zu werden, wie z. B. sich ändernde Mutationszustände oder das Hinzufügen oder Entfernen von Mutationen.

tsx
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)

Optionen

  • callback: (mutation?: MutationCacheNotifyEvent) => void
    • Diese Funktion wird jedes Mal aufgerufen, wenn der Mutations-Cache aktualisiert wird.

Gibt zurück

  • unsubscribe: Function => void
    • Diese Funktion wird verwendet, um das Abonnement des Callbacks vom Mutations-Cache aufzuheben.

mutationCache.clear

Die Methode clear kann verwendet werden, um den Cache vollständig zu leeren und neu zu beginnen.

tsx
mutationCache.clear()
mutationCache.clear()