首页 > 解决方案 > 为什么我必须将它绑定到 Reactjs 的类组件中的方法

问题描述

我已经搜索并阅读了这个问题很长时间,但仍然无法理解。因此,在 React 类组件中,您将编写如下方法:

class Test extends React.Component {
  constructor(props){
   super(props)
   this.method = this.method.bind(this)
  }

  method() {
    ...
  }
}

如果“this”默认没有绑定,为什么我们可以使用“this.method”呢?“this”在“this.method”和“bind.(this)”中是什么意思。他们是一样的吗?

这条线:this.method = this.method.bind(this)真的让我很困惑。请帮我解释这一行中的 3 个“this”中的每一个。谢谢。

标签: javascriptreactjsclassbindingthis

解决方案


当您将方法传递给子组件时,将方法绑定到“this”很有用。当你这样做的时候,通常是为了在子组件执行这个方法时能够改变父组件的本地状态。有点像说

“我希望这个方法绑定到这个类,也就是说,如果它是从任何地方调用的,那么这个方法内部对“this”的引用就是指这个类”



这是一篇有趣的文章,详细解释了这一点:
https ://yehudakatz.com/2011/08/11/understanding-javascript-function-invocation-and-this/


推荐阅读