假设这样的界面(如果需要,也可以是一种类型):
interface Layouts {
Application: 'Home' | 'About' | 'Contact';
Registration: 'Email' | 'Password' | 'ResetPassword'
}
我想创建一个新类型type Screens
,该类型具有Layouts
界面中的所有值(不是键),即'Home' | 'Email' | 'About' | 'Password'
等...
是否可以做到这一点而无需重复数据?
答案 0 :(得分:1)
您可以使用keyof
关键字,使您可以获取Layouts
界面键后面的类型。
interface Layouts {
Application: 'Home' | 'About' | 'Contact';
Registration: 'Email' | 'Password' | 'ResetPassword'
}
type Screens = Layouts[keyof Layouts];