Javascript Typescript:创建类型,确保值在数组中
我有反对意见Javascript Typescript:创建类型,确保值在数组中,javascript,reactjs,typescript,Javascript,Reactjs,Typescript,我有反对意见 const AllTranslations = { ACCEPT: { en: "Accept this", de: "Akzeptieren" }, UNKNOWN_ERROR: { en: "Unexpected error occurred" } }; 我有这种类型的 export type TransKey=keyof typeof all translations 我有一
const AllTranslations = {
ACCEPT: {
en: "Accept this",
de: "Akzeptieren"
},
UNKNOWN_ERROR: {
en: "Unexpected error occurred"
}
};
我有这种类型的
export type TransKey=keyof typeof all translations代码>
我有一个translate函数,它接收TransKey类型的prop,如果给定的字符串在所有translates中不作为key存在,我希望它抛出错误。这适用于给定的代码
现在,如果缺少“en”或“de”,我还希望typescript抛出错误,如果我将所有翻译的类型作为记录,就可以这样做。但问题是,TransKey类型现在实际上只是字符串,我可以将任何字符串传递给translate函数,它不会抱怨
有什么办法可以同时兼顾两者?如果在所有翻译中没有给定的键(例如接受),翻译功能会投诉,如果在所有翻译中缺少en或de,ts也会投诉
我可以用object.keys获取键数组,例如[“ACCEPT”、“UNKNOWN、ERROR”],但不知道是否可以自动创建类似“ACCEPT”|“UNKNOWN_ERROR”的类型请共享您迄今为止完成的工作(代码)请共享您迄今为止完成的工作(代码)