From efe65e70d7f8a4f30e4c780c5fdb56f3c81f377e Mon Sep 17 00:00:00 2001 From: Paul Frazee Date: Tue, 7 Jun 2022 18:56:31 -0500 Subject: Add basic react-navigator usage --- src/App.tsx | 147 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) create mode 100644 src/App.tsx (limited to 'src') diff --git a/src/App.tsx b/src/App.tsx new file mode 100644 index 000000000..3927851be --- /dev/null +++ b/src/App.tsx @@ -0,0 +1,147 @@ +/** + * Sample React Native App + * https://github.com/facebook/react-native + * + * Generated with the TypeScript template + * https://github.com/react-native-community/react-native-template-typescript + * + * @format + */ + +import React from 'react'; +import { + SafeAreaView, + ScrollView, + StatusBar, + StyleSheet, + Text, + Button, + useColorScheme, + View, +} from 'react-native'; +import { NavigationContainer } from '@react-navigation/native'; +import { createNativeStackNavigator, NativeStackScreenProps } from '@react-navigation/native-stack'; + +import { + Colors, + DebugInstructions, + Header, + LearnMoreLinks, + ReloadInstructions, +} from 'react-native/Libraries/NewAppScreen'; + +type RootStackParamList = { + Home: undefined; + Profile: { name: string }; +}; +const Stack = createNativeStackNavigator(); + +const Section: React.FC<{ + title: string; +}> = ({children, title}) => { + const isDarkMode = useColorScheme() === 'dark'; + return ( + + + {title} + + + {children} + + + ); +}; + +const HomeScreen = ({ navigation }: NativeStackScreenProps) => { + const isDarkMode = useColorScheme() === 'dark'; + + const backgroundStyle = { + backgroundColor: isDarkMode ? Colors.darker : Colors.lighter, + }; + return ( + + + +
+ +
+ Edit App.tsx to change this + screen and then come back to see your edits. +
+
+ +
+
+ +
+
+ Read the docs to discover what to do next: +
+ +
+ + + ) +} + +const ProfileScreen = ({ navigation, route }: NativeStackScreenProps) => { + return This is {route.params.name}'s profile; +}; + +const App = () => { + + return ( + + + + + + + ); +}; + +const styles = StyleSheet.create({ + sectionContainer: { + marginTop: 32, + paddingHorizontal: 24, + }, + sectionTitle: { + fontSize: 24, + fontWeight: '600', + }, + sectionDescription: { + marginTop: 8, + fontSize: 18, + fontWeight: '400', + }, + highlight: { + fontWeight: '700', + }, +}); + +export default App; -- cgit 1.4.1