React:正在更新处于状态的对象的属性
React: updating property of object in state
我有一个组件,它将文档作为状态aDocuments
进行跟踪。单击按钮后,文档即被上载。每个文档对象都包含处理上载的功能。在上传过程中,文档中的模式从"新建"更改为"上传完成"。文档对象在上载过程中更新模式。每个文档都是来自aDocuments数组中处于我状态的对象的引用。
当处于状态的对象可以更新自身时,我如何正确处理该对象的更新属性?我的setState调用只会导致渲染。
Doc.prototype.upload = function (uploadComplete) {
if (this.mode === 'new') {
this.mode = 'uploading';
// do uploading stuff and call uploadComplete after upload is finished
$.ajax(..., complete: function() {
this.mode = 'done';
uploadComplete(this);
});
}
}
// in my component
clickHandler: function (doc) {
doc.upload(function(tmpDoc) {
// this will cause render to show the doc as done
this.setState('aDocuments', this.state.aDocuments);
});
// this will show the document as uploading
this.setState('aDocuments', this.state.aDocuments);
}
如有任何帮助,我们将不胜感激。
为了更新文档数组所在的顶级组件的状态,您需要通过props(修改顶级文档数组)向各个文档组件传递回调函数。
相关文章:
- js,对象's状态监视
- redux 中状态对象的结构
- 如何将状态对象/数据传递给(异步)ajax 回调
- 你能在js中获得以前的历史状态对象吗
- 更新HTML5历史中以前的状态对象
- stampit.js“状态”对象不是实例安全的
- 相位器.js获取给定的无效相位器状态对象
- 使用 React 创建的表单不会更新支持状态对象
- AngularJs :将 stateParams 值附加到状态对象中的自定义数据
- Redux 的 .getState() 不应该返回状态对象的副本
- Nodejs使用回调函数缓存有状态对象
- 我可以只返回状态对象的一部分而不是整个状态对象的新副本吗
- 处理一个巨大的状态对象
- 访问pushState状态对象内容
- 调用mapStateToProps似乎传递了错误的状态对象
- 试图通过将状态对象放入变量来压缩我的ui-router状态定义.并# 39;t工作
- React路由器-动态路由-通过路由器访问状态对象
- HTML5历史API-状态对象的最大大小是多少
- React:您可以将setState与现有的状态对象一起使用吗
- Pubnub:无法获得带有存在事件的状态对象