我试图做一个复选框,当复选框处于选中状态或未选中状态时,它会更改文本,但是,即使触发了复选框,状态似乎也没有发生变化。我正在尝试按照教程进行操作,并遇到此错误,由于某种原因找不到该问题。下面是我当前的代码。
var UseOfState = class extends React.Component {
constructor(props) {
super(props);
this.state = {isCheck: true};
this.toggleCheckbox = this.toggleCheckbox.bind(this);
}
toggleCheckbox () {
console.log('checkbox triggered');
this.setState = ({isCheck: !this.state.isCheck});
}
render () {
console.log('render');
var msg;
if(this.state.isCheck) {
msg = 'checked';
console.log(this.state.isCheck);
} else {
msg = 'unchecked';
console.log(this.state.isCheck);
}
return (
<div>
<input type="checkbox" onChange={this.toggleCheckbox} defaultChecked={this.state.isCheck}/>
<h3>Check box is {msg}</h3>
</div>
);
}
}
ReactDOM.render(<UseOfState/>,document.getElementById('root'));
这是我的代码笔:https://codepen.io/anon/pen/OazZpa
我想知道我的错误在哪里:)
最佳答案
下一行有错字
this.setState = ({isCheck: !this.state.isCheck});
至
this.setState({isCheck: !this.state.isCheck});
然后工作正常。