Reactjs:在JavaScript中,默认情况下不会绑定类方法

sma*_*ber 8 javascript reactjs

我正在关注 handling-events文档,我遇到了这个:

在JavaScript中,默认情况下不会绑定类方法.如果您忘记绑定this.handleClick并将其传递给onClick,则在实际调用该函数时,这将是未定义的.

我从这个引文中理解的是,this并没有指定每个类方法中的当前实例化.

但是,如果我考虑下面的代码,该方法editState可访问属性state扩展的类的Parent通过this.哪个会使之前的引用变错,因为this它与所有类mehtods绑定.

class Parent {
  constructor() {
    this.state = false;
  }
  
  setState(newState) {
    this.state = newState;
  }
}

class Child extends Parent {
  editState() {
    this.setState(true);
  }
}

let c = new Child;
c.editState();
console.log(c.state);
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么?

小智 10

当函数用作事件处理程序时,其“ this ”设置为触发事件的元素。 作为DOM事件处理程序