次のエラーが発生します
キャッチされない 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 はバインドされた関数を返します。関数をバインドされた値に設定する必要があります。