class App extends Component {
constructor(props) {
super(props);
this.addContact = this.addContact.bind(this);
console.log(this);
}
我不明白括号中最后一个'this'关键字的含义。它代表什么?我知道我想使用方法时应该绑定。但是我在构造函数上绑定了什么?我没有向构造函数发送任何对象或其他东西,所以在那里发生了什么?
我是一个新手自学的程序员,正在为这个问题而苦苦挣扎。你能帮我吗?
谢谢。
答案 0 :(得分:0)
this
函数内部的bind()
代表什么
this
与您的代码相对应,在您的课程App
如果您的方法addContact
在App
类的上下文中未绑定,则此方法无法做任何事情。
如果不需要在方法中使用this
上下文,也许可以将此方法转换为静态方法。
请参见以下示例:MDN EXAMPLE
答案 1 :(得分:0)
代码中的某处,例如在render
方法中,您将以类似onClick={this.addContact}
的方式调用此函数。
this.addContact = this.addContact.bind(this);
代码将确保在addContact
(this
实例的范围内调用App
函数,而不是在{{1} 1}}处理程序。