class App extends Component {
constructor() {
super();
this.state = {
name: 'React',
checked:false,
};
this.handleChange=this.handleChange.bind(this)
}
handleChange(event){
this.setState({
checked:event.target.checked
})
}
render() {
return (
color for test
test's label
{
this.setState({
checked:undefined
})
}}>
something
);
}
}
问题是这样的:
如果this.state.checked一开始是true(蓝色背景),那么我点一下勾选框(this.state.checked为false了),再点一下something按钮,它又变成了蓝色
如果this.state.checked一开始是false(红色背景),那么我点一下勾选框(this.state.checked为false了),再点一下something按钮,它又变成了红色
something按钮的功能就是将checked设为undefined,请问这个按钮为什么会出现上述这种看起来像'复原'的功能
补充(我实际遇到的问题):
一个设置页,如果用户点击取消则将所有checkbox复原,经过排查发现再复原方法中漏了一个state字段(这就导致这个字段在复原时设为undefined),但是从界面上却是正常效果