看起来我的类型正在按预期工作。那么可以请谁帮我解释一下我在它的定义中得到的错误以及如何修复它吗?我找不到解决办法。
export enum Languages {
Cs = 'cs',
Sk = 'sk',
En = 'en'
}
export type RouteDefinitionItem<T> = {
name: string;
pathname: { [index in T]: string };
page: string;
};
const routes: RouteDefinitionItem<Languages>[] = [
{
name: 'home',
pathname: {
cs: '/',
en: '/en',
sk: '/sk'
},
page: '/home'
}
];错误:
Type 'T' is not assignable to type 'string | number | symbol'.
Type 'T' is not assignable to type 'symbol'.Link to TypeScript playground.
提前谢谢你。
发布于 2020-10-20 19:54:03
export enum Languages {
Cs = 'cs',
Sk = 'sk',
En = 'en'
}
export type RouteDefinitionItem<T extends keyof any > = {
name: string;
pathname: Record<T,string>;
page: string;
};
const routes: RouteDefinitionItem<Languages>[] = [
{
name: 'home',
pathname: {
'cs':'',
'en':'',
'sk':''
},
page: '/home'
}
];已更新。
https://stackoverflow.com/questions/64444437
复制相似问题