我试图做一个复选框,当复选框处于选中状态或未选中状态时,它会更改文本,但是,即使触发了复选框,状态似乎也没有发生变化。我正在尝试按照教程进行操作,并遇到此错误,由于某种原因找不到该问题。下面是我当前的代码。

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});


然后工作正常。

10-06 04:47
查看更多