react-i18next:将 t 函数传递给所有 children 或在每个 child 中使用 useTranslation?
react-i18next: passing t function to all children or useTranslation in every child?
我正在使用 react-i18next
翻译我的 React 应用。
对于每个不同的“主要”页面(从菜单导航),我得到 t()
函数和 useTranslation
;对于这些页面的 children 组件,我将 t
和其他道具传递给 children.
我想知道我的做法是否正确?
在每个 child 中获得 t
和 useTranslation
而不是在他们的 parents 中更好吗?
恕我直言,在每个组件中使用 useTranslation
是更好的方法,因为:
- 你的组件结构更加一致(导致统一)
- 您不必决定是采用一种方式还是采用另一种方式(这有助于 概念完整性,尤其是在团队合作时)
- 您的组件更易于重用(因为它们不要求可以自己获得的东西)
- 如果您使用 PropTypes 或 TypeScript,您只需编写更少的代码,因为所有类型都是自动推断的
我正在使用 react-i18next
翻译我的 React 应用。
对于每个不同的“主要”页面(从菜单导航),我得到 t()
函数和 useTranslation
;对于这些页面的 children 组件,我将 t
和其他道具传递给 children.
我想知道我的做法是否正确?
在每个 child 中获得 t
和 useTranslation
而不是在他们的 parents 中更好吗?
恕我直言,在每个组件中使用 useTranslation
是更好的方法,因为:
- 你的组件结构更加一致(导致统一)
- 您不必决定是采用一种方式还是采用另一种方式(这有助于 概念完整性,尤其是在团队合作时)
- 您的组件更易于重用(因为它们不要求可以自己获得的东西)
- 如果您使用 PropTypes 或 TypeScript,您只需编写更少的代码,因为所有类型都是自动推断的