-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathApp.js
51 lines (45 loc) · 1.34 KB
/
App.js
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import React from 'react'
import { Provider } from 'react-redux'
import { PersistGate } from 'redux-persist/integration/react'
import { StyleSheet, Text, View } from 'react-native'
import { createStackNavigator, createAppContainer } from 'react-navigation'
import { AppLoading, Font } from 'expo'
import { persistor, store } from '@store'
import HomeScreen from '@screens/HomeScreen'
import DetailsScreen from '@screens/DetailsScreen'
import BarCode from '@screens/BarCodeScreen'
const AppNavigator = createStackNavigator(
{
Home: HomeScreen,
Details: DetailsScreen,
BarCode: BarCode,
},
{
initialRouteName: 'Home'
}
)
const AppContainer = createAppContainer(AppNavigator)
export default class App extends React.Component {
state = { isReady: false }
async componentWillMount() {
await Font.loadAsync({
'Lekton': require('@assets/fonts/Lekton-Regular.ttf'),
'LektonBold': require('@assets/fonts/Lekton-Bold.ttf'),
}).then(() => this.setState({ isReady: true }))
}
render() {
if (!this.state.isReady) { return (<AppLoading />) }
return (
<Provider store={store}>
<PersistGate loading={null} persistor={persistor}>
<AppContainer style={styles.container}/>
</PersistGate>
</Provider>
)
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
},
})