最佳答案
我正在开发一个 todo 应用程序。这是一个非常简化的代码版本。我有一个复选框:
<p><input type="checkbox" name="area" checked={this.state.Pencil} onChange={this.checkPencil}/> Writing Item </p>
下面是调用复选框的函数:
checkPencil(){
this.setState({
pencil:!this.state.pencil,
});
this.props.updateItem(this.state);
}
UpdateItem 是一个映射为分派到 redux 的函数
function mapDispatchToProps(dispatch){
return bindActionCreators({ updateItem}, dispatch);
}
我的问题是,当我调用 updateItem 操作和 console. log 状态时,它总是落后1步。如果复选框未选中且不为 true,那么仍然可以得到传递给 updateItem 函数的 true 状态。我是否需要调用另一个函数来强制状态更新?