【发布时间】:2015-08-08 16:30:48
【问题描述】:
我已经用 react/flux 工作了几个星期了,虽然我觉得我已经很好地处理了从异步加载到更新 props/states/等的所有事情,但有一件事仍然困扰着我是如何处理保存状态。
例如,在加载数据时,我的商店中只有一个 isLoading 布尔参数,它被传递给我的组件。但是当我尝试将更新的对象发布到服务器时,这很简单:
- 触发更新操作
- 显示“正在保存”状态
但要弄清楚更新操作的结果似乎要困难得多。
我在这方面看到的最适用的帖子可能是Fluxxor's async data guide,但他们的解决方案(在对象上添加/修改状态属性)对我来说很容易出错。
onAddBuzz: function(payload) {
var word = {id: payload.id, word: payload.word, status: "ADDING"};
this.words[payload.id] = word;
this.emit("change");
},
onAddBuzzSuccess: function(payload) {
this.words[payload.id].status = "OK";
this.emit("change");
},
onAddBuzzFail: function(payload) {
this.words[payload.id].status = "ERROR";
this.words[payload.id].error = payload.error;
this.emit("change");
}
是否有更好的方法来管理保存状态或向对象添加状态属性是最好的方法?
【问题讨论】:
标签: reactjs reactjs-flux flux