我试图声明一个Exact的对象类型,所以它应该有两个键,一个是cnt
,另一个是对象中的一个键。
const ICONS = { foo:'', bar:'' }
type IconNames = $Keys<typeof ICONS>;
现在IconNames是&#34; foo&#34;或&#34; bar&#34;。所以我尝试了这个:
const myObj: MyObj = { cnt:5, foo:true }
type MyObj = {| cnt:number, [IconNames]:bool |}
但它不起作用。
type Props = { blah:string, qux:string }
type MySecondObj = {| hi:boolean, bye:boolean, ...Props |}
const mySecondObj: MySecondObj = { hi:false, bye:false, blah:'ya', qux:'ok' };
然而,这也不起作用。我无法找到任何搜索结果。但这就像&#34;动态添加键&#34;所以我搜索了这个,但没有结果。
答案 0 :(得分:0)
我找到了示例1的解决方案:
const ICONS = { foo:'', bar:'' }
type IconNames = $Keys<typeof ICONS>;
const myObj: MyObj = { cnt:5, foo:true }
type MyObj = {| cnt:number, [key:IconNames]:bool |}