为了账号安全,请及时绑定邮箱和手机立即绑定

React中组件绑定this

React中组件绑定this

Qyouu 2018-11-13 17:17:56
<button onClick={this.handleEvent}>    //这里的this是toggle组件 为什么还需要在组件里绑定这个函数的this   {this.state.isToggleOn === true ? 'on' : 'off'}</button>想不明白这里的this绑定
查看完整描述

1 回答

?
繁星淼淼

TA贡献1775条经验 获得超11个赞

因为在class中声明函数,并不会自动绑定this对象

所以,你在onClick={this.handleEvent}的时候,分解成两步你就懂了:

let handleEvent = this.handleEvent;
...onClick={handleEvent}...

所以,onClick调用的时候,handleEvent中的this会是undefined根据文档

所以,你需要bind一下, 那么里面的this就是当前组件啦。

还有一种方便的写法,就是用箭头函数声明:

handleEvent = (e)=>{


}


render(){

  ...onClick={this.handleEvent}...

}


查看完整回答
反对 回复 2018-12-28
  • 1 回答
  • 0 关注
  • 461 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号