MutationResult<TData, TVariables> typedef
MutationResult<TData, TVariables> = ({Ref<TData?> data, Ref<String?> error, ReadonlyRef<bool> isError, ReadonlyRef<bool> isIdle, ReadonlyRef<bool> isPending, ReadonlyRef<bool> isSuccess, void Function(TVariables variables) mutate, Future<TData> Function(TVariables variables) mutateAsync, void Function() reset, Ref<QueryStatus> status, Ref<TVariables?> variables})
Result type for useMutation.
final mutation = useMutation(
mutationFn: (data) => api.createTodo(data),
);
// Status
mutation.isPending() // Mutation in progress
mutation.isSuccess() // Mutation succeeded
mutation.isError() // Mutation failed
// Data
mutation.data() // Response data
mutation.error() // Error message
// Execute
mutation.mutate(newTodo); // Fire and forget
await mutation.mutateAsync(newTodo); // Await result
// Reset
mutation.reset(); // Clear state
Implementation
typedef MutationResult<TData, TVariables> = ({
/// Response data from mutation.
Ref<TData?> data,
/// Error message if mutation failed.
Ref<String?> error,
/// The variables passed to the last mutation.
Ref<TVariables?> variables,
/// Current mutation status.
Ref<QueryStatus> status,
/// True if mutation is in progress.
ReadonlyRef<bool> isPending,
/// True if mutation succeeded.
ReadonlyRef<bool> isSuccess,
/// True if mutation failed.
ReadonlyRef<bool> isError,
/// True if mutation is idle (not yet called or reset).
ReadonlyRef<bool> isIdle,
/// Execute the mutation (fire and forget).
void Function(TVariables variables) mutate,
/// Execute the mutation and await the result.
Future<TData> Function(TVariables variables) mutateAsync,
/// Reset mutation state.
void Function() reset,
});