小编典典

如何切换反应组件的布尔状态?

reactjs

我想知道如何切换React组件的布尔状态。例如:

我在组件的构造函数中进行了布尔状态检查:

constructor(props, context) { 
   super(props, context);

   this.state = {
      check: false
   };
};

我试图每次使用this.setState方法切换复选框时的状态:

<label><input type=checkbox" value="check" onChange = {(e) => this.setState({check: !check.value})}/> Checkbox </label>

当然,我得到了 Uncaught ReferenceError:检查未定义 。那么我该如何实现呢?

提前谢谢了。


阅读 254

收藏
2020-07-22

共1个答案

小编典典

由于没有人发布此消息,因此我发布了正确的答案。如果您的新状态更新依赖于先前的状态,请始终使用其函数形式setState接受返回新状态的函数作为参数。

在您的情况下:

this.setState(prevState => ({
  check: !prevState.check
}));

查看文件

2020-07-22