Framework
Version

mutationOptions

Funktion: mutationOptions()

ts
function mutationOptions<TData, TError, TVariables, TContext>(
  options,
): CreateMutationOptions<TData, TError, TVariables, TContext>
function mutationOptions<TData, TError, TVariables, TContext>(
  options,
): CreateMutationOptions<TData, TError, TVariables, TContext>

Ermöglicht das Teilen und Wiederverwenden von Mutationsoptionen auf typsichere Weise.

Beispiel

ts
export class QueriesService {
  private http = inject(HttpClient)

  updatePost(id: number) {
    return mutationOptions({
      mutationFn: (post: Post) => Promise.resolve(post),
      mutationKey: ['updatePost', id],
      onSuccess: (newPost) => {
        //           ^? newPost: Post
        this.queryClient.setQueryData(['posts', id], newPost)
      },
    })
  }
}

queries = inject(QueriesService)
idSignal = new Signal(0)
mutation = injectMutation(() => this.queries.updatePost(this.idSignal()))

mutation.mutate({ title: 'New Title' })
export class QueriesService {
  private http = inject(HttpClient)

  updatePost(id: number) {
    return mutationOptions({
      mutationFn: (post: Post) => Promise.resolve(post),
      mutationKey: ['updatePost', id],
      onSuccess: (newPost) => {
        //           ^? newPost: Post
        this.queryClient.setQueryData(['posts', id], newPost)
      },
    })
  }
}

queries = inject(QueriesService)
idSignal = new Signal(0)
mutation = injectMutation(() => this.queries.updatePost(this.idSignal()))

mutation.mutate({ title: 'New Title' })

Typparameter

TData = unknown

TError = Error

TVariables = void

TContext = unknown

Parameter

Optionen

MutationObserverOptions<TData, TError, TVariables, TContext>

Die Mutationsoptionen.

Gibt zurück

CreateMutationOptions<TData, TError, TVariables, TContext>

Mutationsoptionen.

Definiert in

mutation-options.ts:38