流动型JSX元件,怪异臭虫以元素<*>(星号)
问题描述:
如下代码中,我使用Element<*>
为JSX元件的类型。流动型JSX元件,怪异臭虫以元素<*>(星号)
type Prop = {
style?: StyleSheet.styles | Array<StyleSheet.styles>;
face: Element<*>;
disabled: boolean;
anotherProp: any;
}
的Element<*>
(星号)的使用是通过流动型编译提示。
但随后,Element<*>
之后定义每一种类型的缺失。
如果我改变代码Element<any>
,然后我喜欢的类型正确显示。
但键入any
是不是我真正需要的。我能做些什么才能使它工作?
我用flowtype with vscode,但似乎误差为flowtype
编译器(或flowtype vscode plugin),所以可能不会涉及到vscode本身。
答
目前与导致某些类型的,尤其是那些使用*,尽管此编辑器集成的问题,注意类型实际上是正确的,并根据会检查你写的东西,即使它打印出错误的IDE。
例如,下面的代码失败,一个类型的错误,而如果any
类型实际上是用它会通过:
type thingy = {
style: number,
stuff: Array<*>,
things: string
}
let t: thingy = {
style: 19,
stuff: 2,
things: "what"
}
@zvona是的,我都尝试逗号和分号,他们似乎工作中同样的方式(但在这种情况下都不起作用) – Val