react-router-relay:处理突变的成功或错误

时间:2016-02-18 09:01:51

标签: reactjs react-router graphql relayjs react-router-relay

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

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

假设我有一个执行Rename变异的React组件。 我想在突变完成后进行用户回调

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

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

1 个答案:

答案 0 :(得分: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