Table of Contents

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

options MutationOptions<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

TVariables

Mutation input variables type. Use Unit for "no variables".

TData

Mutation 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

options MutationOptions<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

TVariables

Mutation input variables type. Use Unit for "no variables".

TData

Mutation result type. Use Unit for "no return value".

TContext

The value OnMutate hands 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

options MutationOptions<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

options MutationOptions

Returns

MutationResult<Unit, Unit>