React中的Binding中的此关键字

时间:2018-08-26 21:48:03

标签: javascript reactjs binding

class App extends Component {
constructor(props) {
    super(props);
    this.addContact = this.addContact.bind(this);
    console.log(this);
}

我不明白括号中最后一个'this'关键字的含义。它代表什么?我知道我想使用方法时应该绑定。但是我在构造函数上绑定了什么?我没有向构造函数发送任何对象或其他东西,所以在那里发生了什么?

我是一个新手自学的程序员,正在为这个问题而苦苦挣扎。你能帮我吗?

谢谢。

2 个答案:

答案 0 :(得分:0)

  

this函数内部的bind()代表什么

this与您的代码相对应,在您的课程App

如果您的方法addContactApp类的上下文中未绑定,则此方法无法做任何事情。

如果不需要在方法中使用this上下文,也许可以将此方法转换为静态方法。

请参见以下示例:MDN EXAMPLE

答案 1 :(得分:0)

代码中的某处,例如在render方法中,您将以类似onClick={this.addContact}的方式调用此函数。

this.addContact = this.addContact.bind(this);代码将确保在addContactthis实例的范围内调用App函数,而不是在{{1} 1}}处理程序。