diff --git a/packages/query-core/src/mutation.ts b/packages/query-core/src/mutation.ts index 79d87c0d73..1a757b6d20 100644 --- a/packages/query-core/src/mutation.ts +++ b/packages/query-core/src/mutation.ts @@ -170,7 +170,7 @@ export class Mutation< if (!this.options.mutationFn) { return Promise.reject(new Error('No mutationFn found')) } - return this.options.mutationFn(variables) + return this.options.mutationFn(variables, this.state.context) }, onFail: (failureCount, error) => { this.#dispatch({ type: 'failed', failureCount, error }) diff --git a/packages/query-core/src/types.ts b/packages/query-core/src/types.ts index faaea7bb84..10fe7a7be7 100644 --- a/packages/query-core/src/types.ts +++ b/packages/query-core/src/types.ts @@ -699,8 +699,9 @@ export type MutationMeta = Register extends { : Record : Record -export type MutationFunction = ( +export type MutationFunction = ( variables: TVariables, + context?: TContext, ) => Promise export interface MutationOptions< @@ -709,7 +710,7 @@ export interface MutationOptions< TVariables = void, TContext = unknown, > { - mutationFn?: MutationFunction + mutationFn?: MutationFunction mutationKey?: MutationKey onMutate?: ( variables: TVariables,