如何解决如何使用 next-i18next
我有两个存储库。一个带有 nextjs
应用程序,第二个带有正在动态加载到第一个存储库中的组件。
由于第二个 repo 中的一些组件包含翻译,我需要传递一个 t
函数或一个 i18n
实例(翻译文件和 next-i18next
初始化在第一个 repo 中) .
我尝试使用上下文提供程序传递它,但是没有用:
TypeError: 无法读取未定义的属性“translator”
有没有推荐的方法来实现这一目标?
解决方法
由于在运行时你的组件共享同一个 React“树”,有很多方法可以实现你的要求:
- 传递
t
方法本身 - 在您的组件与其环境之间创建一对。
<InnerComponent t={t} />
- 将已翻译的文本传递给组件 - 您的组件可能保持“通用”用途。但有时大型组件可能需要很多文本,会造成大量道具。
<InnerComponent title={t('MY_TITLE')} />
每种方法都有优缺点,决定哪种方法适合您的要求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。