React i18n - "t"函数不接受字符串变量(打字稿)? "No overload matches this call"



熟悉此错误的任何人:[带有错误消息的代码][1][1] :https://i.stack.imgur.com/SbJvu.png

{t(`${settingType}` as const)}

错误:

No overload matches this call.
Overload 1 of 2, '(key: TemplateStringsArray | Normalize<{

谢谢:(

解决方案:将t(str)更改为

t(str as unknown as TemplateStringsArray)

我个人创建了一个助手函数来实现这一点,我推荐它。

我面临同样的问题,Adri的回答帮助了我。

如果你愿意,这就是我做过的功能:

export const normalizeKey = (key: string) => key as unknown as TemplateStringsArray;

最新更新