我想知道如何切换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:检查未定义 。那么我该如何实现呢?
提前谢谢了。
由于没有人发布此消息,因此我发布了正确的答案。如果您的新状态更新依赖于先前的状态,请始终使用其函数形式setState接受返回新状态的函数作为参数。
setState
在您的情况下:
this.setState(prevState => ({ check: !prevState.check }));
查看文件