繁体   English   中英

如何从 Typescript 中的 object 值数组生成类型

[英]How to generate a type from an array of object value in Typescript

我有一系列这样的路线:

export const routes = [
  { name: 'Home', component: HomeScreen },
  { name: 'CreateProgram', component: CreateProgramScreen },
  { name: 'AddExercises', component: AddExercisesScreen },
]

我想从路线的名称以编程方式生成如下类型的别名:

type RouteNames = 'Home' | 'CreateProgram' | 'AddExercises'

将数组键入as const使其不会自动加宽,然后您可以在其类型上使用[number]来获取所有 object 类型的并集,然后访问["name"]以获取name属性的类型.

export const routes = [
  { name: 'Home', component: HomeScreen },
  { name: 'CreateProgram', component: CreateProgramScreen },
  { name: 'AddExercises', component: AddExercisesScreen },
] as const;
type RouteNames = (typeof routes)[number]["name"];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM