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>
浙公网安备 33010602011771号