React i18n - “t”函数不接受字符串变量(打字稿)? “没有超载匹配这个电话”

问题描述 投票:0回答:2

任何熟悉此错误的人: [带有错误消息的代码][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<{

谢谢:)

typescript i18next react-typescript react-i18next
2个回答
3
投票

解决方案:将

t(str)
改为

t(str as unknown as TemplateStringsArray)

我个人创建了一个辅助函数来这样做,我推荐它。


1
投票

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

如果你想要,这是我完成的功能:

export const normalizeKey = (key: string) => key as unknown as TemplateStringsArray;
© www.soinside.com 2019 - 2024. All rights reserved.