Реакции-маршрутизатор-реле: обрабатывать успех или ошибку при мутации

Какой лучший способ справиться с успехом или ошибкой после мутации?

Я использую React.js и response-router-relay для выполнения запросов и мутаций в GraphQL.

Допустим, у меня есть компонент React, выполняющий мутацию Rename. Я хотел бы, чтобы после завершения мутации пользователь получил ответный звонок

  • "Объект был успешно переименован" или
  • "ошибка: имя уже занято" или
  • "ошибка: имя должно содержать не менее 10 символов"
  • и т.п.

Как я могу иметь такой обратный вызов? А как обрабатывать разные коды ошибок?

1 ответ

Что ж! Кажется, это было так же просто, как добавить объект обратного вызова на мутацию:

var onSuccess = () => {
  console.log('Mutation successful!');
};
var onFailure = (`enter code here`transaction) => {
  var error = transaction.getError() || new Error('Mutation failed.');
  console.error(error);
};
var mutation = new MyMutation({...});

Relay.Store.commitUpdate(mutation, {onFailure, onSuccess});

https://facebook.github.io/relay/docs/api-reference-relay-store.html

Другие вопросы по тегам