【发布时间】:2018-04-18 17:25:27
【问题描述】:
我正在尝试使用在类的泛型定义中定义的泛型:
type Foo<T : BoundType> = {
bar : T
}
class Class<F : Foo<T : BoundType>> {
method(arg : T) { ... }
}
Flow 抱怨 Class<F : Foo<T : BoundType>> 的语法
有没有办法在类中使用 Foo 中使用的 T 类型?以下工作,但我试图消除重复类型两次的需要:
type Foo<T : BoundType> = {
bar : T
}
class Class<T : BoundType, F : Foo<T>> {
method(arg : T) { ... }
}
let x = new Class<ConcreteType, Foo<ConcreteType>>;
【问题讨论】:
-
可以添加投诉吗?
-
从第一块代码开始:
class Class<F : Foo<T : BoundType>> { ^ T. Unexpected token : -
如果你能在flow.org/try 中给出一个清晰的例子会更容易理解。实际上,您的示例
new Class<ConcreteType, Foo<ConcreteType>>;首先是无效的,而且我们没有ConcreteType和BoundType的示例。 -
请澄清类型之间的预期关系。也许你应该给我们一个简单数据的例子,显示你的期望
-
您上面的代码看起来像 TypeScript,不会在浏览器中运行。您需要将其“编译”为 JavaScript。
标签: javascript flowtype