Javascript 流数组泛型与自身不兼容?

Javascript 流数组泛型与自身不兼容?,javascript,ecmascript-6,flowtype,Javascript,Ecmascript 6,Flowtype,我正在尝试创建一个带有流类型检查的es6类: /* @flow */ export default class ListHolder<Tv> { getList = (): Array<Tv> => { return []; }; iterateOverList = (): mixed => { return this.getList().map((item: mixed, index: number) => {

我正在尝试创建一个带有流类型检查的es6类:

/* @flow */

export default class ListHolder<Tv> {
  getList = (): Array<Tv> => {
    return [];
  };

  iterateOverList = (): mixed => {
    return this.getList().map((item: mixed, index: number) => {
      // no-op
      return null;
    });
  };
}
问题是我一直得到一个流错误,即Tv[1]与Tv[1]不兼容。引用行getList=:Array=>{。有人能帮我理解这个错误吗

如果我注释掉映射调用,它就会解决问题,但除此之外,我还没有取得多大进展,错误消息也没有特别的帮助


谢谢,

看起来像是您创建了一个类,但是为一个类分配方法并不是使用赋值运算符完成的。=和箭头函数=>

我想这更符合你的要求。->

/* @flow */


export default class ListHolder<Tv> {
  getList (): Array<Tv> {
    return [];
  };

  iterateOverList (): mixed {
    return this.getList().map((item: mixed, index: number) => {
      // no-op
      return null;
    }); 
  };
}

谢谢!我以为我快疯了。所以问题是,因为它们不是方法,它们没有继承泛型,所以我知道我做错了什么。奇怪的b/c我觉得我看到了JS中其他地方用作速记的箭头函数赋值-一定是我的错!再次感谢你!奇怪的b/c我觉得我看到了箭头函数赋值人t在JS中的其他地方用作缩写,但在这里定义一个类,{}中的所有内容都是一个类定义。如果说您在构造函数中创建方法,您可能会看到类似这样的内容。func=>{}。这里不是类定义,而是代码执行点。允许赋值。@托马斯:您看到的是一个实验性功能,称为类字段:。它是在构造函数内定义属性而不必定义构造函数的缩写。