Как работает I18NextProvider, с Namespaces в React-I18NEXT? - PullRequest
0 голосов
/ 26 марта 2019

Я использую реагировать-i18next в моем приложении с I18nextProvider и withNamespaces.

export const App = () => (
    <I18nextProvider i18n={i18n}>
      <App />
    </I18nextProvider>
);
export default withNamespaces()(ChildComponentOfApp);

, но я не понимаю отношения I18nextProvider и withNamespaces.они не передают реквизиты, такие как t function

Поставщик несет ответственность за передачу экземпляра i18next, переданного реквизитом, всем объектам withNamespaces или NamespacesConsumer для рендеринга с использованием реагирующего контекста api.

Почему работа?это рендер подпирает что-то в withNamespaces?

Я знаю, что withNamespaces - это HOC, но перепутал это соотношение между I18nextProvider и withNamespaces даже после чтения исходного кода response-i18next.

Может кто-нибудь объяснить, пожалуйста?

1 Ответ

1 голос
/ 26 марта 2019

I18nextProvider -> вы передаете реквизит "i18n", содержащий экземпляр i18next для использования -> провайдер передает его в JSX-дерево, используя контекстный API реагирования

withNamespaces -> получает экземпляр i18n из контекстаи передает в функции к вашему компоненту.

...