我收到以下错误
未捕获的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> ); } }
这是由于this.delta不受约束this。
this.delta
this
为了绑定设置this.delta = this.delta.bind(this)在构造函数中:
this.delta = this.delta.bind(this)
constructor(props) { super(props); this.state = { count : 1 }; this.delta = this.delta.bind(this); }
当前,您正在调用绑定。但是bind返回一个绑定函数。您需要将函数设置为其绑定值。