class CheckBox extends React.Component{
constructor(checked){
super(checked);
this.state={checked:false}
}
handleChange(event){
this.setState({checked:!this.state.checked});
}
render(){
var msg;
if(this.state.checked){
msg= "checked"
}else{
msg="unchecked"
}
return(
<div>
<input type="checkbox" onChange={this.handleChange} />
<h3>Checkbox is {msg}</h3>
</div>
);
}
}
它说
TypeError:无法读取属性&#39; setState&#39;未定义的
我不知道原因
答案 0 :(得分:2)
将this
绑定到构造函数中的函数
constructor(checked){
super(checked);
this.state={checked:false}
this.handleChange = this.handleChange.bind(this);
}
请参阅https://jsfiddle.net/gaby/chazb1ju/
或者在将处理程序绑定到事件
时传递箭头函数<input type="checkbox" onChange={(e)=>this.handleChange(e)} />