-
Notifications
You must be signed in to change notification settings - Fork 1
/
App.tsx
39 lines (34 loc) · 1.05 KB
/
App.tsx
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
import React, { memo } from 'react';
import { PersistGate } from 'redux-persist/integration/react';
import { Provider } from 'react-redux';
import { SafeAreaProvider } from 'react-native-safe-area-context';
import { StatusBar } from 'expo-status-bar';
import 'react-native-gesture-handler';
import 'react-native-url-polyfill/auto';
import Loader from './components/Loader';
import Navigation from './navigation';
import { persistedStore, store } from './store';
import useCachedResources from './hooks/use-cached-resources';
import Wrap from './screens/Wrap';
function App(): null | React.ReactElement {
const isLoadingComplete = useCachedResources();
if (!isLoadingComplete) {
return null;
}
return (
<SafeAreaProvider>
<Provider store={store}>
<PersistGate
loading={(<Loader />)}
persistor={persistedStore}
>
<Wrap>
<Navigation />
<StatusBar style="dark" />
</Wrap>
</PersistGate>
</Provider>
</SafeAreaProvider>
);
}
export default memo(App);