我有一个这样的类型定义:
type Blah = {
fields: {
value: string
}[]
}
Run Code Online (Sandbox Code Playgroud)
我们在这里看到的字段是一堆数组条目。我想通过$PropertyType.
做$PropertyType<Blah, 'fields'>给我们数组,是否有可能得到元素?
我不能这样做的原因是type Field = {value:string}键入 Blah = { fields:Field[] } is because I don't have control over typeBlah`,我是从 3rd 方包导入它。
您可以使用新的$ElementType实用程序来执行此操作。
type Blah = {
fields: {
value: string
}[]
}
type Fields = $PropertyType<Blah, 'fields'>
type Field = $ElementType<Fields, number>
const field: Field = {
value: 'blah'
}
Run Code Online (Sandbox Code Playgroud)