我想使用嵌套对象作为翻译的键。
说
interface TranslationObject {
[key: string]: string | TranslationObject
}
对象的实例如下:
const en = {
MAIN_MENU: {
TITLE: 'Welcome'
}
...
}
我有另一个变量 es,具有相同的键。有没有办法在类型级别强制执行此操作?
我当然可以写:
interface MyTranslation = {
MAIN_MENU: {
TITLE: string
}
}
const es: MyTranslation = ...
但这不是我想要的,我想要的是自动且不需要维护的东西。比如:
const es: InferTheType(b) = ...
const en = {
MAIN_MENU: {
TITLE: 'Welcome'
}
...
}
interface MyTranslation {
[key in keyof typeof en]: {
TITLE: string
}
}
这个可能合适