我的项目需要翻译成多种不同的语言,因此我选择i18next来管理我的react应用程序中的翻译。我是React生态系统的新手,请耐心等待。
我的react应用具有嵌套的组件,据我了解,我需要递归传递i18next provider中的道具。用redux管理道具会更容易吗?因为我能够简单地将道具映射到应用程序的状态,而无需沿用这些道具。也可以使用reducer来管理当前语言环境。
答案 0 :(得分:2)
重点不是所有内容都必须处于还原状态。 i18next已经拥有所有翻译和语言(州)。
它的作用是传递一个翻译功能(不能置于redux状态)->由于i18next拥有状态本身,因此无需向其传递语言和消息(因为您需要使用redux状态)。
I18nextProvider仅通过上下文传递i18n实例。提供的翻译HOC或I18n渲染道具在那里可以有选择地通过xhr加载翻译,并确保在渲染之前加载了这些翻译(如果您预加载了所有翻译或将它们与应用捆绑在一起-不需要它们,则可以直接使用导入的i18next)。