Возможно необработанное предупреждение об отказе от обещания с помощью useMutation
Я получаю необработанную ошибку при отклонении обещания при использовании useMutation
с реакцией родных. Вот код, вызывающий проблему:
const [createUser, { error, loading }] = useMutation(CREATE_USER_MUTATION);
Каждый раз, когда мой сервер graphql возвращает ошибку клиенту, я получаю необработанную ошибку отклонения обещания (скриншот ниже). Я могу заставить его уйти, добавив обработчик ошибок, например, но это похоже на хак. есть идеи? Я делаю что-то не так или это то, что должны решать люди из Аполлона?
const [createUser, { error, loading }] = useMutation(CREATE_USER_MUTATION, {
onError: () => {}
});
2 ответа
Ваш createUser
мутация - это обещание, что вы должны обработать ошибку внутри try catch
блок, или в верхней области внутри apollo-link-error onError
метод.
const [createUser, { data, loading }] = useMutation(CREATE_USER_MUTATION, {
onError: (err) => {
setError(err);
}
});
Благодаря этому мы можем получить доступ к данным с загрузкой и правильной обработкой ошибок.