Method UseMutation
- Namespace
- Velvet
- Assembly
- Velvet.Docs.dll
UseMutation<TVariables, TData>(MutationOptions<TVariables, TData>)
Returns a handle that tracks the lifecycle (Idle / Pending / Success / Error) of an async mutation.
The caller invokes Mutate / MutateAsync with
TVariables; the MutationFn runs
and the handle's status / data / error fields are updated, triggering a re-render.
public static MutationResult<TVariables, TData> UseMutation<TVariables, TData>(MutationOptions<TVariables, TData> options)
Parameters
optionsMutationOptions<TVariables, TData>The mutation function plus optional success / error / settled callbacks.
Returns
- MutationResult<TVariables, TData>
A MutationResult<TVariables, TData>, reference-stable across renders.
Type Parameters
TVariablesMutation input variables type. Use Unit for "no variables".
TDataMutation result type. Use Unit for "no return value".
UseMutation<TVariables, TData, TContext>(MutationOptions<TVariables, TData, TContext>)
Context-carrying overload of UseMutation<TVariables, TData>(MutationOptions<TVariables, TData>), TanStack Query's
onMutate form: OnMutate runs before
the mutation function, and its return value is the context that call's OnSuccess /
OnError / OnSettled receive.
public static MutationResult<TVariables, TData> UseMutation<TVariables, TData, TContext>(MutationOptions<TVariables, TData, TContext> options)
Parameters
optionsMutationOptions<TVariables, TData, TContext>The mutation function plus the optional lifecycle callbacks.
Returns
- MutationResult<TVariables, TData>
A MutationResult<TVariables, TData>, reference-stable across renders.
Type Parameters
TVariablesMutation input variables type. Use Unit for "no variables".
TDataMutation result type. Use Unit for "no return value".
TContextThe value
OnMutatehands to the call's later callbacks, such as the snapshot an optimistic write is rolled back to.
UseMutation<TVariables>(MutationOptions<TVariables>)
Void-return overload of UseMutation<TVariables, TData>(MutationOptions<TVariables, TData>). Use when the mutation function returns no data (typical for Store-action mutations where state is updated internally).
public static MutationResult<TVariables, Unit> UseMutation<TVariables>(MutationOptions<TVariables> options)
Parameters
optionsMutationOptions<TVariables>
Returns
- MutationResult<TVariables, Unit>
Type Parameters
TVariables
UseMutation(MutationOptions)
No-input void overload of UseMutation<TVariables, TData>(MutationOptions<TVariables, TData>). Use when the mutation takes
no input and returns no data. Pair with Mutate<TData>(MutationResult<Unit, TData>) to call
mutation.Mutate() without an explicit Unit.Default argument.
public static MutationResult<Unit, Unit> UseMutation(MutationOptions options)
Parameters
optionsMutationOptions