【发布时间】:2016-08-29 13:43:07
【问题描述】:
我正在创建一个任务管理应用程序(在 React、Redux 中),它有一个任务网格。网格行有一个任务名称、任务描述和状态(活动/待定)和一个保存按钮来保存更改数据库。用户可以编辑任务并保存。还有一个标记活动按钮,它将任务的状态更改为活动状态(也将其保存在数据库中)。 标记活动代码是这样的
markActive(taskId){
this.props.markActive(taskId);/*update the state*/
this.props.saveData();/*send the updated state to database*/
}
我的问题是当我保存数据时,任务的状态在数据库中没有发生变化。
但这行得通
markActive(taskId){
this.props.markActive(taskId);
setTimeout(
()=>{this.props.saveData();}
,0
)
}
问题是this.props.markActive(taskId) 正在完美地完成他的工作,但是更新的状态还没有到达我的组件,当我使用超时时,状态得到更新。
使用超时是一个好习惯还是有更好的解决方案
【问题讨论】:
标签: android reactjs redux state