Реакции-маршрутизатор-реле: обрабатывать успех или ошибку при мутации
Какой лучший способ справиться с успехом или ошибкой после мутации?
Я использую 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