【发布时间】:2021-09-28 17:30:00
【问题描述】:
我需要创建一个翻译系统,其中元素位于 Typescript 对象中,如下所示:
const fr: AppMessages = {
builder: {
actionButtons: {
preview: 'Visualisation',
...
},
},
};
所以我用这种类型输入了对象:
interface AppMessages extends Record<string, string | AppMessages> {}
但是当我想读取一个子键时:
const test: string = fr.builder.actionsButton.preview;
Typescript 向我显示此错误:TS2339: 属性 'actionsButton' 在类型 'string | 上不存在应用消息”。 “字符串”类型上不存在属性“actionsButton”。
是否可以让它告诉我中间键返回特定类型,在这种情况下builder 返回AppMessages 而不是string,或者是我需要以不同方式编写的类型?
感谢您的回复!
【问题讨论】:
标签: typescript