来自 typeof 对象的打字稿接口

时间:2021-03-18 23:44:12

标签: typescript i18next react-i18next

我们正在使用 react-i18next 进行翻译,它们允许您覆盖类型,以便您可以使用 ts 来验证您的密钥 - 除了 1 个事实外,它效果很好。假设我们在 common.json(又名公共命名空间)

中有这个 json 对象
{
   "first": "first",
   "nested": {
       "second": "Second"
    }
}

当您获取该对象的类型并将其用作接口时,您将获得键 common:firstcommon:nested.second

一旦它是第二级,它就会变成点符号。是否可以告诉打字稿一直使用 :,因为我们所有的翻译都是 common:nested:second。我们已准备好更改我们的翻译——但最好避免它。任何帮助将不胜感激。

这里仅供参考是我们如何提供给 react-i18next 的类型(直接来自他们的文档)

import 'react-i18next';
declare module 'react-i18next' {
    export interface Resources {
        common: typeof import('./common.json');
    }
}

0 个答案:

没有答案