你好,正在學習react和es6.我也有上去爬過之前的帖子,但是還是無法搞清楚以下是我遇到問題稍微描述:classExampleextendsReact.Component{getTitle(){...}render(){return()}}classExample2extendsReact.Component{contructor(){super();this.handle=this.handle.bind(this);}handle(){...}render(){return({this.handle()}//綁定當前instance)}}為什麼有些需要綁定函數,有些不用?要如何分辨?謝謝(新手)
2 回答

慕码人2483693
TA贡献1860条经验 获得超9个赞
其实上面回答的就是答案了。详细点说,当一个函数在不同context执行时,往往this的指向都会不同,例如在setTimeout里的函数通常都会指向全局。所以为了确保this的指向如我们所要的一样,就要把函数的this绑定我们所要的context的this。简单来说,当你这个函数会用到this,或者this会影响你的函数的,都需要绑定context。

慕田峪4524236
TA贡献1875条经验 获得超5个赞
就React的话,如果你使用es6的语法构建组件,那么在你组件里写的函数在构造器里都需要手动绑定this,如果使用es5的React.createClass()创建组件,this反而会自动绑定为当前组建实例。手机回答的,格式不太标准,明天再修改格式。
添加回答
举报
0/150
提交
取消