Skip to content

API Documentation / @pinia/colada / DefineMutationOptionsTagged

Interface: DefineMutationOptionsTagged<TData, TVars, TError, TContext> ​

Tagged version of UseMutationOptions that includes a key with data type information. Returned by defineMutationOptions.

Extends ​

  • UseMutationOptions<TData, TVars, TError, TContext>

Type Parameters ​

TData ​

TData = unknown

TVars ​

TVars = void

TError ​

TError = ErrorDefault

TContext ​

TContext extends Record<any, any> = _EmptyObject

Properties ​

delay? ​

ts
optional delay?: number | false;

Delay in milliseconds to wait before letting the asyncStatus become 'loading'. Set to false or 0 to disable. Requires the PiniaColadaDelay or PiniaColadaDelayMutations plugin.

Default ​

ts
200

Inherited from ​

ts
UseMutationOptions.delay

gcTime? ​

ts
optional gcTime?: number | false;

Time in ms after which, once the mutation is no longer being used, it will be garbage collected to free resources. Set to false to disable garbage collection (not recommended).

Default ​

ts
60_000 (1 minute)

Inherited from ​

UseMutationOptionsGlobal.gcTime


key ​

ts
key: _MutationKeyTagged<TData, TVars, TError>;

Optional key to identify the mutation globally and access it through other methods in the mutation cache. If you don't need to reference the mutation elsewhere, you should ignore this option.

Overrides ​

ts
UseMutationOptions.key

meta? ​

ts
optional meta?: Record<string, unknown>;

Meta information associated with the mutation. Can be used by plugins to store additional data alongside the mutation entry.

Inherited from ​

ts
UseMutationOptions.meta

mutation ​

ts
mutation: (vars, context) => Promise<TData>;

The key of the mutation. If the mutation is successful, it will invalidate the mutation with the same key and refetch it

Parameters ​

vars ​

TVars

context ​

_ReduceContext<NoInfer<TContext>>

Returns ​

Promise<TData>

Inherited from ​

ts
UseMutationOptions.mutation

onError? ​

ts
optional onError?: (error, vars, context) => unknown;

Runs if the mutation encounters an error.

Parameters ​

error ​

TError

The error thrown by the mutation.

vars ​

NoInfer<TVars>

The variables passed to the mutation.

context ​

UseMutationContextCommon<TData, TVars, TError, TContext> & | Partial<Record<never, never>> & Partial<Record<keyof _ReduceContext<NoInfer<TContext>>, never>> | UseMutationGlobalContext & _ReduceContext<NoInfer<TContext>>

The merged context from onMutate and the global context. Properties returned by onMutate can be undefined if onMutate throws.

Returns ​

unknown

Inherited from ​

ts
UseMutationOptions.onError

onMutate? ​

ts
optional onMutate?: (vars, context) => _Awaitable<void | TContext | null | undefined>;

Runs before the mutation is executed. It should be placed before mutation() for context to be inferred. It can return a value that will be passed to mutation, onSuccess, onError and onSettled. If it returns a promise, it will be awaited before running mutation.

Parameters ​

vars ​

TVars

The variables passed to the mutation.

context ​

UseMutationContextCommon<unknown, unknown, NoInfer<TError>, _EmptyObject> & UseMutationGlobalContext

Returns ​

_Awaitable<void | TContext | null | undefined>

Example ​

ts
useMutation({
// must appear before `mutation` for `{ foo: string }` to be inferred
// within `mutation`
  onMutate() {
    return { foo: 'bar' }
  },
  mutation: (id: number, { foo }) => {
    console.log(foo) // bar
    return fetch(`/api/todos/${id}`)
  },
  onSuccess(data, vars, context) {
    console.log(context.foo) // bar
  },
})

Inherited from ​

ts
UseMutationOptions.onMutate

onSettled? ​

ts
optional onSettled?: (data, error, vars, context) => unknown;

Runs after the mutation is settled, regardless of the result.

Parameters ​

data ​

NoInfer<TData> | undefined

The result of the mutation. undefined if the mutation failed.

error ​

TError | undefined

The error thrown by the mutation. undefined if the mutation was successful.

vars ​

NoInfer<TVars>

The variables passed to the mutation.

context ​

UseMutationContextCommon<TData, TVars, TError, TContext> & | Partial<Record<never, never>> & Partial<Record<keyof _ReduceContext<NoInfer<TContext>>, never>> | UseMutationGlobalContext & _ReduceContext<NoInfer<TContext>>

The merged context from onMutate and the global context. Properties returned by onMutate can be undefined if onMutate throws.

Returns ​

unknown

Inherited from ​

ts
UseMutationOptions.onSettled

onSuccess? ​

ts
optional onSuccess?: (data, vars, context) => unknown;

Runs if the mutation is successful.

Parameters ​

data ​

NoInfer<TData>

The result of the mutation.

vars ​

NoInfer<TVars>

The variables passed to the mutation.

context ​

UseMutationContextCommon<NoInfer<TData>, NoInfer<TVars>, NoInfer<TError>, NoInfer<TContext>> & UseMutationGlobalContext & _ReduceContext<NoInfer<TContext>>

The merged context from onMutate and the global context. Properties returned by onMutate can be undefined if onMutate throws.

Returns ​

unknown

Inherited from ​

ts
UseMutationOptions.onSuccess

Released under the MIT License.