The I18nextProvider does take an i18next instance via prop i18n and passes that down using the context API.
import { I18nextProvider } from 'react-i18next';
import i18n from './i18n';
import App from './App';
<I18nextProvider i18n={i18n} defaultNS={'translation'}>
<App />
</I18nextProvider>
You will need to use the provider if you need to support multiple i18next instances - eg. if you provide a component library (like this example) or in scenarios for SSR (ServerSideRendering). Additionally, you have the ability to manage the default namespace(s) by passing defaultNS.
name | type (default) | description |
---|---|---|
i18n | object (undefined) | pass i18next instance the provider will pass it down to translation components by context |
defaultNS | string | string[] (undefined) | pass defaultNS to manage the default namespace(s) |