-
Notifications
You must be signed in to change notification settings - Fork 12
Expand file tree
/
Copy pathApp.js
More file actions
32 lines (29 loc) · 1012 Bytes
/
App.js
File metadata and controls
32 lines (29 loc) · 1012 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import React from 'react';
import {translate } from 'react-i18next';
import i18n from './src/I18n/index';
import { createStackNavigator } from 'react-navigation';
import Home from './src/screens/Home';
import Page2 from './src/screens/Page2';
const Stack = createStackNavigator({
Home: { screen: Home },
Page2: { screen: Page2 }
});
// Wrapping a stack with translation hoc asserts we get new render on language change
// the hoc is set to only trigger rerender on languageChanged
const WrappedStack = ({t}) => {
return <Stack screenProps={{ t }} />;
};
const ReloadAppOnLanguageChange = translate('common', {
bindI18n: 'languageChanged',
bindStore: false,
})(WrappedStack);
// The entry point using a react navigation stack navigation
// gets wrapped by the I18nextProvider enabling using translations
// https://github.com/i18next/react-i18next#i18nextprovider
export default class App extends React.Component {
render() {
return (
<ReloadAppOnLanguageChange />
);
}
}