React框架/this指向问题

解决this指向问题,class类里面的this指向。示例如下

export default class extends React.Component {
state = {
count: 1,
}

increment(){
this.setState({
count:this.state.count+1
})}
render() {
return (
<div>
<p>你一共点击了{this.state.count}次</p>
<button onClick={this.increment}>+</button>
</div>
)}}

////////////render()函数执行会报错, //报错Cannot read property 'setState' of undefined,因为this指向问题。解决办法如下

①利用箭头函数修改类里面的方法increment()

increment=()=> {
this.setState({
count: this.state.count + 1
})
}

②利用bind,apply,call来修改this指向,修改调用处的方式。例如下面再调用处加bind

 <button onClick={this.increment.bind(this)}>+</button>

 

posted @ 2020-02-13 20:22  洋葱头king  阅读(341)  评论(0)    收藏  举报