你好,正在學習react和es6.
我也有上去爬過之前的帖子,但是還是無法搞清楚
以下是我遇到問題稍微描述:
class Example extends React.Component {
getTitle() {...}
render() {
return(
<div>
</div>
)
}
}
class Example2 extends React.Component {
contructor() {
super();
this.handle = this.handle.bind(this);
}
handle() {...}
render() {
return(
<div>
{this.handle()} //綁定當前instance
</div>
)
}
}
為什麼有些需要綁定函數,有些不用?
要如何分辨?
謝謝(新手)
其实上面回答的就是答案了。
详细点说,当一个函数在不同context执行时,往往this的指向都会不同,例如在setTimeout里的函数通常都会指向全局。
所以为了确保this的指向如我们所要的一样,就要把函数的this绑定我们所要的context的this。简单来说,当你这个函数会用到this,或者this会影响你的函数的,都需要绑定context。