2 回答
TA贡献1898条经验 获得超8个赞
您需要接受来自 onChange 回调的第二个参数的数据/检查值。您也试图分配值,setState这是错误的。像你在你的componentDidMount
selectOngoingAlerts = (e, data) => {
this.setState({isChecked: data});
}
还要更新无线电组件以将回调传递给您的处理程序,您不需要或不想要一个 lambda ..
<Radio toggle className="ongoing-checkbox"
label="Show ongoing alerts"
value={ !this.state.isChecked }
onChange={this.selectOngoingAlerts} />
从文档中,第二个参数是传递值的位置
您应该Checkbox像我链接的那样引用文档,因为它Radio是语法糖<Checkbox radio />
记住: setState是异步的,所以你不能console.log像你想要的那样取值。如果您真的想查看它的更新值,请改为在 setState 上使用回调,或者只是将您移动console.log到渲染,以便您可以看到渲染周期中的值变化。
TA贡献2019条经验 获得超9个赞
selectOngoingAlerts = (e) => {
const {isChecked} = this.state;
this.setState({ isChecked : !isChecked });
isChecked ? console.log('on') : console.log('off');
}
添加回答
举报