MutationConfig
Defined in: react/src/types.ts:346
Configuration for createMutation and useActorMutation.
Extends
Section titled “Extends”Omit<UseMutationOptions<ReactorReturnOk<Service,Method,Transform>,ReactorReturnErr<Service,Method,Transform>,ReactorArgs<Service,Method,Transform>,TOnMutateResult>,"mutationFn">
Type Parameters
Section titled “Type Parameters”Service
Section titled “Service”Service = BaseActor
Method
Section titled “Method”Method extends FunctionName<Service> = FunctionName<Service>
Transform
Section titled “Transform”Transform extends TransformKey = "candid"
TOnMutateResult
Section titled “TOnMutateResult”TOnMutateResult = unknown
The value onMutate returns, which onSuccess,
onError and onSettled receive. TypeScript infers it from onMutate.
Properties
Section titled “Properties”functionName
Section titled “functionName”functionName:
Method
Defined in: react/src/types.ts:361
The method to call on the canister
callConfig?
Section titled “callConfig?”
optionalcallConfig?:CallConfig
Defined in: react/src/types.ts:363
Call configuration for the actor method
invalidateQueries?
Section titled “invalidateQueries?”
optionalinvalidateQueries?: (readonlyunknown[] |undefined)[]
Defined in: react/src/types.ts:371
Queries to invalidate upon successful mutation.
undefined entries are skipped, so the common
[maybeQuery?.getQueryKey()] idiom is safe when the optional query object
is absent.
onCanisterError?
Section titled “onCanisterError?”
optionalonCanisterError?: (error,variables) =>void
Defined in: react/src/types.ts:394
Callback for canister-level business logic errors. Called when the canister returns a Result { Err: E } variant.
This is separate from onError which handles all errors including
network failures, agent errors, etc.
Parameters
Section titled “Parameters”CanisterError<TransformReturnRegistry<ErrResult<ActorMethodReturnType<Service[Method]>>, Service>[Transform]>
The CanisterError containing the typed error value
variables
Section titled “variables”ReactorArgs<Service, Method, Transform>
The arguments passed to the mutation
Returns
Section titled “Returns”void
Example
Section titled “Example”createMutation(reactor, { functionName: "transfer", onCanisterError: (error, variables) => { // error.err contains the typed Err value // error.code contains the variant key (e.g., "InsufficientFunds") console.error(`Transfer failed: ${error.code}`, error.err) },})