猿问

React中组件绑定this

<button onClick={this.handleEvent}>    //这里的this是toggle组件 为什么还需要在组件里绑定这个函数的this 

  {this.state.isToggleOn === true ? 'on' : 'off'}

</button>

想不明白这里的this绑定

Qyouu
浏览 462回答 1
1回答

繁星淼淼

因为在class中声明函数,并不会自动绑定this对象所以,你在onClick={this.handleEvent}的时候,分解成两步你就懂了:let&nbsp;handleEvent&nbsp;=&nbsp;this.handleEvent; ...onClick={handleEvent}...所以,onClick调用的时候,handleEvent中的this会是undefined(根据文档)所以,你需要bind一下, 那么里面的this就是当前组件啦。还有一种方便的写法,就是用箭头函数声明:handleEvent = (e)=>{}render(){&nbsp; ...onClick={this.handleEvent}...}
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答