如何在流中使用对象属性的类型? e.g。
type A = {
someproperty: string
}
// throws error
const b: A.someproperty = "hello"
答案 0 :(得分:1)
您可以使用$PropertyType<T,x>
utility type。
type A = {
someproperty: string
}
// this works fine
const b: $PropertyType<A, 'someproperty'> = "hello"
答案 1 :(得分:1)
正如您在自我回答中所说,您可以使用$PropertyType
。但请记住,这不是官方的,将来可能并不总是一样。它甚至可以完全删除。 React在幕后使用$PropertyType
,但Facebook的开发人员可以与Flow团队一起工作,并且可以更好地了解功能路线图。
如果您可以控制所有类型,最好以这样的方式设计它们,以便您可以按名称引用属性的类型。在很多情况下,一个简单的类型别名将起作用:
type SomePropertyOfA = string;
type A = {
someproperty: SomePropertyOfA
}
const b: SomePropertyOfA = "hello"