useSimpleMutation<TData, TError> function
MutationResult<TData, TError, void>
useSimpleMutation<TData, TError>(
- Future<
TData> mutationFn(), { - void onSuccess(
- TData
- void onError(
- TError
A hook to use a simple mutation without variables.
Implementation
MutationResult<TData, TError, void> useSimpleMutation<TData, TError>(
Future<TData> Function() mutationFn, {
void Function(TData)? onSuccess,
void Function(TError)? onError,
}) {
final controller = useMemoized(
() => MutationController<TData, TError, void>(
mutationFn: (_) => mutationFn(),
onSuccess: onSuccess != null ? (data, _) => onSuccess(data) : null,
onError: onError != null ? (error, _) => onError(error) : null,
),
);
final state = useValueListenable(controller);
useEffect(() => controller.dispose, [controller]);
return MutationResult(state, (_) => controller.mutate(null));
}