-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathApp.tsx
50 lines (46 loc) · 1.56 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
40
41
42
43
44
45
46
47
48
49
50
import * as React from 'react';
import {View, Button} from 'react-native';
import {NavigationContainer} from '@react-navigation/native';
import {QueryClient, QueryClientProvider} from 'react-query';
import {Tabs} from './Tabs';
import {SafeAreaProvider, SafeAreaView} from 'react-native-safe-area-context';
import {createNativeStackNavigator} from '@react-navigation/native-stack';
import {TweetDetails} from './TweetDetails';
const queryClient = new QueryClient();
const Stack = createNativeStackNavigator();
export default function App() {
const [renderApp, setRenderApp] = React.useState(true);
return (
<View style={{flex: 1}}>
<SafeAreaProvider>
<SafeAreaView style={{flex: 1}} edges={['top']}>
{renderApp ? (
<QueryClientProvider client={queryClient}>
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen
name="Home"
component={Tabs}
options={{headerShown: false}}
/>
<Stack.Screen
name="TweetDetails"
component={TweetDetails}
getId={({params}) => params?.tweetId}
/>
</Stack.Navigator>
</NavigationContainer>
</QueryClientProvider>
) : (
<Button
onPress={() => {
setRenderApp(true);
}}
title="Render App"
/>
)}
</SafeAreaView>
</SafeAreaProvider>
</View>
);
}