在类中定义的粗箭头功能中为null

时间:2019-04-24 16:14:39

标签: javascript ecmascript-6 es6-class

我在javascript类中使用了多个粗箭头功能,但是我一直保持null值。这适用于使用sagas的reactjs应用程序。根据先前的阅读等,我以为粗箭头功能是从包含它们的父级中获取其范围的。但是,这不是这里发生的情况。

以下是说明我遇到的问题的示例:

export default class Base {
    constructor() {
    this.autos = [];
    }
}

export default class Auto extends Base {
    createAuto = (auto) => {
        debugger;
        this.autos.push(auto); /This line is where this = null
        return this.autos;
    }
}

……

function* createAuto(auto) {
  try {
    let a = new Auto();
    …..
    let result = yield(a.createAuto, auto);
  } catch (e) {
    console.log(e);
  }
}

调用createAuto方法时,此属性为null。如果将createAuto包含在Auto类中,怎么办?我认为这将是Auto的。

0 个答案:

没有答案