#javascript #reactjs #graphql #react-admin
Вопрос:
Я использую React Admin и ra-data-GraphQL, когда я что-то обновляю в своем компоненте UserEdit, все работает идеально, НО, когда мне нужно обработать сообщение об ошибке из API, я не знаю, где его поймать.
Это мой запрос на обновление:
case 'UPDATE': {
const updateParams = { ...params };
return {
query: gql`mutation updateUser($id: ID!, $data: UpdateUser!) {
data: updateUser(id: $id,input:$data) {
${buildFieldsGraphQL(updateFields)}
}
}`,
variables: {
...updateParams,
id: updateParams.data.uuid,
data: {
...updateParams.data,
},
},
parseResponse: (response) => {
console.log('tr response: ', response);
},
};
}
Когда API возвращает ошибку, она никогда не попадает в console.log.
Я искал список с вариантами здесь (https://github.com/marmelab/react-admin/tree/master/packages/ra-data-graphql#options) искал что-то вроде «Ошибка анализа», но я не нашел ничего подобного.
Мне нужно поймать ошибку и отобразить сообщение в форме UserEdit.
Прочитав ссылку, которой я делюсь в этом посте, в ней говорится следующее:
но должен возвращать объект, соответствующий параметрам метода запроса ApolloClient с дополнительной функцией parseResponse.
Я понимаю, что мне следует перейти по ссылке в слове «запрос» и проверить, есть ли что-то вроде «Ошибка синтаксического анализа», но ссылка нарушена:
https://www.apollographql.com/docs/react/reference/index.html#ApolloClient.запрос
Какая-нибудь помощь?
Ответ №1:
Ладно, это проще. Добавив функцию OnFailure, я могу справиться с ошибкой.