React - キャッチされない TypeError: 未定義のプロパティ 'setState' を読み取ることができません 質問する

React - キャッチされない TypeError: 未定義のプロパティ 'setState' を読み取ることができません 質問する

次のエラーが発生します

キャッチされない TypeError: 未定義のプロパティ 'setState' を読み取ることができません

コンストラクターで delta をバインドした後でも同様です。

class Counter extends React.Component {
    constructor(props) {
        super(props);

        this.state = {
            count : 1
        };

        this.delta.bind(this);
    }

    delta() {
        this.setState({
            count : this.state.count++
        });
    }

    render() {
        return (
            <div>
                <h1>{this.state.count}</h1>
                <button onClick={this.delta}>+</button>
            </div>
        );
    }
}

ベストアンサー1

this.deltaこれは にバインドされていないためですthis

this.delta = this.delta.bind(this)コンストラクターでset をバインドするには:

constructor(props) {
    super(props);

    this.state = {
        count : 1
    };

    this.delta = this.delta.bind(this);
}

現在、bind を呼び出しています。ただし、bind はバインドされた関数を返します。関数をバインドされた値に設定する必要があります。

おすすめ記事