Fix mutations without onCompleted (#1914)

This commit is contained in:
Dominik Żegleń 2022-03-14 10:53:39 +01:00 committed by GitHub
parent b98d1e1d22
commit 2b2b4de4dd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 17 deletions

View file

@ -17,35 +17,29 @@ export const displayDemoMessage = (
});
};
const getAllErrorMessages = (error: ApolloError) => {
const errorMessages = [];
if (error.graphQLErrors.length) {
error.graphQLErrors.forEach(err => {
errorMessages.push(err.message);
});
}
const getNetworkErrors = (error: ApolloError): string[] => {
const networkErrors = error.networkError as ServerErrorWithName;
if (error.networkError) {
if (networkErrors) {
// Apparently network errors can be an object or an array
if (Array.isArray(networkErrors.result)) {
networkErrors.result.forEach(result => {
if (result.errors) {
result.errors.forEach(({ message }) => {
errorMessages.push(message);
});
return result.errors.map(({ message }) => message);
}
});
} else {
errorMessages.push(networkErrors.result.errors.message);
}
return networkErrors.result.errors.message;
}
return errorMessages;
return [];
};
const getAllErrorMessages = (error: ApolloError) => [
...(error.graphQLErrors?.map(err => err.message) || []),
...getNetworkErrors(error)
];
export const showAllErrors = ({
notify,
error

View file

@ -53,7 +53,9 @@ export function useMutation<TData, TVariables>(
notify
});
onCompleted(data);
if (onCompleted) {
onCompleted(data);
}
},
onError: (err: ApolloError) => {
if (err.graphQLErrors) {