Skip to content

Commit

Permalink
Add missing I18nextProvider interface to typings (#721)
Browse files Browse the repository at this point in the history
* Add missing I18nextProvider interface to typings

* remove old props

* change ClassComponent to FunctionComponent

* add usage test
  • Loading branch information
danielsogl authored and rosskevin committed Feb 7, 2019
1 parent 032f900 commit 6065af7
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 0 deletions.
6 changes: 6 additions & 0 deletions src/index.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,12 @@ export function withTranslation(
component: React.ComponentType<P>,
) => React.ComponentType<Omit<P, keyof WithTranslation>>;

export interface I18nextProviderProps {
i18n: i18next.i18n;
}

export const I18nextProvider: React.FunctionComponent<I18nextProviderProps>;

export interface TranslationProps {
children: (
t: i18next.TFunction,
Expand Down
31 changes: 31 additions & 0 deletions test/typescript/I18nextProvider.test.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
import i18n from 'i18next';
import * as React from 'react';
import { I18nextProvider, initReactI18next } from 'react-i18next';

i18n.use(initReactI18next).init({
fallbackLng: 'en',

// have a common namespace used around the full app
ns: ['translations'],
defaultNS: 'translations',

debug: true,

interpolation: {
escapeValue: false, // not needed for react!!
},

react: {
wait: true,
},
});

function test() {
return (
<React.Suspense fallback={<p>Loading</p>}>
<I18nextProvider i18n={i18n}>
<h1>Foo</h1>
</I18nextProvider>
</React.Suspense>
);
}

0 comments on commit 6065af7

Please # to comment.