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 callbacks.

Returns

MutationResult<TVariables, TData>

A MutationResult<TVariables, TData> whose reference is 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>(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>