Я обрабатываю ошибку с помощью метода обработки ошибок useMutation, однако после того, как я пытаюсь проверить обработку ошибок, публикуя пустой пост, он показывает ошибку в пользовательском интерфейсе, а затем сразу после того, как приложение прерывается, и я получаю указанную выше ошибку.
const [createPost, { error }] = useMutation(CREATE_POST_MUTATION, {
variables: values,
update(proxy, result) {
const data = proxy.readQuery({
query: FETCH_POSTS_QUERY,
});
let newData = [...data.getPosts];
newData = [result.data.createPost, ...newData];
proxy.writeQuery({
query: FETCH_POSTS_QUERY,
data: {
...data,
getPosts: {
newData,
},
},
});
values.body = '';
}
});
''
{error && (
<div className = "ui error message" style = {{ marginBottom: 20 }}>
<ul className = "list">
<li>{error.graphQLErrors[0].message}</li>
</ul>
</div>
)}
🤔 А знаете ли вы, что...
React поддерживает локализацию и мультиязычность.
Я нашел свое решение здесь Обработка ошибок с помощью хука react-apollo useMutation
ПРИМЕЧАНИЕ. Хотя вы можете использовать открытое состояние ошибки для обновления своего пользовательского интерфейса, это не заменяет фактическую обработку ошибки. Вы должны либо предоставить обратный вызов onError, либо перехватить ошибку, чтобы избежать предупреждений о необработанном отклонении промиса.