小编典典

Uncaught TypeError:无法读取未定义的属性“状态”-反应

reactjs

我不知道我是否在这里遗漏了一些小东西?

只是试图了解状态如何与React一起工作。

只需创建一个小的复选框即可更改选中/取消选中文本。

import React from 'react';

export default class Basic extends React.Component {
    constructor(props) {
        super(props);

        this.state = {
            checked: true
        };
    }

    handleCheck() {
        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.handleCheck} defaultChecked={this.state.checked} />
                <h3>Checkbox is {msg}</h3>
            </div>
        );
    }
}

阅读 320

收藏
2020-07-22

共1个答案

小编典典

变化:

1. 您忘记绑定该onChange方法,请使用以下方法:

onChange={this.handleCheck.bind(this)}

或在中定义绑定constructor

this.handleCheck = this.handleCheck.bind(this)

2. 您使用setState了错误的方式,setState是您需要调用它的方法。

代替: this.setState = ({})

它应该是: this.setState({})

2020-07-22