2017-10-19 80 views
0

我有一個類型定義是這樣的:

type Blah = { 
    fields: { 
     value: string 
    }[] 
} 

,我們在這裏看到的字段是一堆陣列條目。我想通過$PropertyType解決。

$PropertyType<Blah, 'fields'>給了我們數組,是否有可能獲得元素?

我不能這樣做的原因type Field = {value:string}然後鍵入Blah = {fields:Field []} is because I don't have control over type Blah`,我從第三方包導入它。

回答

2

您可以使用新的$ElementType utility來做到這一點。

Try flow

type Blah = { 
    fields: { 
     value: string 
    }[] 
} 

type Fields = $PropertyType<Blah, 'fields'> 
type Field = $ElementType<Fields, number> 


const field: Field = { 
    value: 'blah' 
} 
+1

哇絕對太酷了!謝謝! – Noitidart