3

突变后处理成功或错误的最佳方法是什么?

我正在使用 React.js 和 react-router-relay 进行 graphQL 查询和突变。

假设我有一个 React 组件执行重命名突变。我希望在突变完成后有一个用户回调说

  • “对象已成功重命名”或
  • “错误:名称已被占用”或
  • “错误:名称必须至少有 10 个字符长”
  • 等等

我怎么能有这种回调?以及如何处理不同的错误代码?

4

1 回答 1

4

出色地!看起来就像在突变上添加一个回调对象一样简单:

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

于 2016-02-18T09:16:01.363 回答