useMutationData<R> function
R?
useMutationData<R>({
- MutationKey<
R> ? key, - String? keyOf,
- MutationInitialDataCallback<
R> ? initialData, - MutationMutateCallback<
R> ? initialMutate, - MutationOnUpdateDataCallback<
R> ? onUpdateData, - MutationOnUpdateErrorCallback? onUpdateError,
- MutationOnUpdateInitializedCallback? onUpdateInitialized,
- MutationOnUpdateLoadingCallback? onUpdateLoading,
- MutationOnOpenCallback<
R> ? onOpen, - MutationOnCloseCallback<
R> ? onClose, - List<
MutationKey< observeKeys = const [],R> >
Implementation
R? useMutationData<R>(
{MutationKey<R>? key,
String? keyOf,
MutationInitialDataCallback<R>? initialData,
MutationMutateCallback<R>? initialMutate,
MutationOnUpdateDataCallback<R>? onUpdateData,
MutationOnUpdateErrorCallback? onUpdateError,
MutationOnUpdateInitializedCallback? onUpdateInitialized,
MutationOnUpdateLoadingCallback? onUpdateLoading,
MutationOnOpenCallback<R>? onOpen,
MutationOnCloseCallback<R>? onClose,
List<MutationKey<R>> observeKeys = const []}) {
final mutation = useMutation(
key: key,
keyOf: keyOf,
initialData: initialData,
initialMutate: initialMutate,
onUpdateData: onUpdateData,
onUpdateError: onUpdateError,
onUpdateInitialized: onUpdateInitialized,
onUpdateLoading: onUpdateLoading,
onOpen: onOpen,
onClose: onClose,
observeKeys: observeKeys);
final state = useListenableNotifier<R?>(mutation.data, [mutation]);
useEffect(() {
return mutation.observe(onUpdateData: (R? data, {R? before}) {
state.value = data;
});
}, [mutation]);
return state.value;
}