如下面的代码,我使用Element<*>
作为 jsx元素的类型。
type Prop = {
style?: StyleSheet.styles | Array<StyleSheet.styles>;
face: Element<*>;
disabled: boolean;
anotherProp: any;
}
flowtype 编译器提示使用Element<*>
(星号)。
但是,Element<*>
之后定义的每种类型都会丢失。
如果我将代码更改为Element<any>
,那么我的类型会正确显示。
但是any
类型不是我真正需要的。我该怎么做才能使它有效?
我使用flowtype with vscode,但似乎错误来自flowtype
编译器(或来自flowtype vscode plugin),因此可能与 vscode 本身无关。
答案 0 :(得分:1)
编辑器集成目前存在导致某些类型的问题,尤其是使用*的类型,尽管如此,请注意该类型实际上是正确的并且将根据您编写的内容进行检查,即使它在IDE中打印错误
例如,此代码失败并出现类型错误,而如果实际使用any
类型则会失败:
type thingy = {
style: number,
stuff: Array<*>,
things: string
}
let t: thingy = {
style: 19,
stuff: 2,
things: "what"
}