useMutation<TData, TError, TVariables, TOnMutateResult> function

MutationSnapshot<TData, TError, TVariables> useMutation<TData, TError, TVariables, TOnMutateResult>(
  1. MutateFn<TData, TVariables> mutationFn, {
  2. MutationOnMutate<TVariables, TOnMutateResult>? onMutate,
  3. MutationOnSuccess<TData, TVariables, TOnMutateResult>? onSuccess,
  4. MutationOnError<TError, TVariables, TOnMutateResult>? onError,
  5. MutationOnSettled<TData, TError, TVariables, TOnMutateResult>? onSettled,
  6. List<Object?>? mutationKey,
  7. NetworkMode? networkMode,
  8. GcDuration? gcDuration,
  9. RetryResolver<TError>? retry,
  10. Map<String, dynamic>? meta,
  11. QueryClient? client,
})

A hook for performing create, update, and delete operations.

Equivalent to the canonical useMutation, but returns a MutationSnapshot: a sealed type that supports exhaustive pattern matching and exposes non-nullable data/error/variables in the appropriate variants.

This is an experimental API exposed via package:flutter_query/experiments.dart. See the canonical useMutation for the meaning of every option.

This is an experimental API and may change in a future minor release.

Implementation

MutationSnapshot<TData, TError, TVariables>
    useMutation<TData, TError, TVariables, TOnMutateResult>(
  MutateFn<TData, TVariables> mutationFn, {
  MutationOnMutate<TVariables, TOnMutateResult>? onMutate,
  MutationOnSuccess<TData, TVariables, TOnMutateResult>? onSuccess,
  MutationOnError<TError, TVariables, TOnMutateResult>? onError,
  MutationOnSettled<TData, TError, TVariables, TOnMutateResult>? onSettled,
  List<Object?>? mutationKey,
  NetworkMode? networkMode,
  GcDuration? gcDuration,
  RetryResolver<TError>? retry,
  Map<String, dynamic>? meta,
  QueryClient? client,
}) {
  final result = core.useMutation<TData, TError, TVariables, TOnMutateResult>(
    mutationFn,
    onMutate: onMutate,
    onSuccess: onSuccess,
    onError: onError,
    onSettled: onSettled,
    mutationKey: mutationKey,
    networkMode: networkMode,
    gcDuration: gcDuration,
    retry: retry,
    meta: meta,
    client: client,
  );

  return result.toSnapshot();
}