如何在React Native组件外使用I18Next的t函数?

问题描述 投票:0回答:2
我尝试在React Native组件之外使用I18Next的t函数。在某些地方,我需要在不在组件中定义的函数中使用“ t”。我不知道将“ t”传递到这样的功能的最佳方法是什么。

目前,我正在考虑以下选项:

我想使用“ t”

    用“ react-18next”的hook usetranslation()(如果我们不在组件中使用钩子,则不确定是否有效)
  • 我也可以将“ t”作为参数传递给该函数,但这可能会使函数过度复杂化。
  • 您认为最简单和最好的选择是什么?
  • 到目前为止,我使用usetranslation挂钩,有时会从i18n.js配置文件中导入“ t”,但是我需要坚持一种导入“ t”的方法。
我亲自使用的第一个选项效果很好,并且不会为函数参数添加复杂性

我亲自执行此操作,其中不包含任何组件的utils文件:

import { t } from 'i18next'; export async function generateMailBody(user, isContact) { const yourMessage = isContact ? t('Your_message') : t('Problem_description'); ... }
reactjs internationalization i18next react-i18next
2个回答
1
投票

如果您需要在React之外使用I18Next,请选择正确的方法:

✔在调用t()之前确保初始化(等待initpromise)。
✔如果要保持反应性,请从反应中传递t()。

0
投票

阅读有关它的更多信息

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.