相关疑难解决方法(0)

React setState不立即更新

我正在研究todo应用程序.这是违规代码的一个非常简化的版本.我有一个复选框:

 <p><input type="checkbox"  name="area" checked={this.state.Pencil}   onChange={this.checkPencil}/> Writing Item </p>
Run Code Online (Sandbox Code Playgroud)

这是调用复选框的函数:

checkPencil(){
   this.setState({
      pencil:!this.state.pencil,
  }); 
  this.props.updateItem(this.state);
}
Run Code Online (Sandbox Code Playgroud)

updateItem是一个映射到dispatch to redux的函数

function mapDispatchToProps(dispatch){
  return bindActionCreators({ updateItem}, dispatch);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,当我调用updateItem action和console.log状态时,它总是落后一步.如果取消选中该复选框而不是true,我仍然会将true状态传递给updateItem函数.我是否需要调用另一个函数来强制状态更新?

state setstate reactjs redux

52
推荐指数
6
解决办法
4万
查看次数

标签 统计

reactjs ×1

redux ×1

setstate ×1

state ×1