首页 > 解决方案 > 扩展数组导致 Flow InferError - 数组未被识别为接口

问题描述

我正在尝试扩展 Array 接口,但遇到以下 Flow InferError:“无法实现 'Array',因为它不是接口”

这是一个导致错误的非常简单的示例:

export interface MyIArray<T> extends Array<T> {
}

function foo() {
    const list: MyIArray<any> = [];
}

在此示例中,Flow 对 const 列表声明感到不满。

试试

标签: flowtype

解决方案


抱歉,这应该是一条评论,但 Try Flow 链接太长:

它看起来像IObservableArray一个 bug 的 mobx 类型。我从您链接的文件中复制了相关类型,并尝试将数组变量声明为IObservableArray并且 Flow 抱怨(Try Flow)。我不确定是否有Array直接输入和扩展的有效方法。如果可以的话,MyIArray如果你用Array--setting 一个普通MyIArray数组实例上的属性,然后将其他属性/方法添加到MyIArray.


推荐阅读