React事件处理程序中未定义'this'的原因

问题描述 投票:0回答:1

我们都知道,根据React的给定代码,this将是未定义的。对于此问题,我们有许多解决方案,例如绑定,箭头功能等。我想知道此行为背后的原因。请解释行为的原因,而不是解决方案。

this
javascript reactjs this
1个回答
0
投票

1)this.clickHandler.bind(this)返回一个新函数,其中对“ this”的引用将引用该函数,这是保存this的当前值的方法,该值是在调用构造函数期间的作用域以便稍后调用该函数。如果我们的函数不需要访问组件上的状态,那么请确保您不需要绑定它。

2)箭头函数自动将此绑定,这就是为什么我们不需要使用.bind()方法的原因。

© www.soinside.com 2019 - 2024. All rights reserved.