Синтаксический анализ React Admin не срабатывает, когда запрос возвращает ошибку

#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, я могу справиться с ошибкой.