React Navigation 5 Tutorials [ #2 ]

์กฐํŒ”๋กœยท2020๋…„ 9์›” 30์ผ
1

React-Navigation-5 Tutorials

๋ชฉ๋ก ๋ณด๊ธฐ
2/6
post-thumbnail

React Navigation 5 Tutorials

๐Ÿ“Œ ํŠœํ† ๋ฆฌ์–ผ์„ ๋”ฐ๋ผํ•œ ํ”„๋กœ์ ํŠธ์ž…๋‹ˆ๋‹ค!

ํ™”๋ฉด ์ „ํ™˜ ์˜ˆ์ œ

DetailsScreen ์ƒ์„ฑํ•˜๊ธฐ

HomeScreen์„ ๋ณต๋ถ™ํ•ด์„œ ์ด๋ฆ„์„ DetailsScreen์œผ๋กœ ๋ฐ”๊พธ์–ด์ค์‹œ๋‹ค!

const DetailsScreen = () => {
  return (
    <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
      <Text>Home Screen</Text>
    </View>
  );
};

Home์— Button ์ถ”๊ฐ€ํ•˜๊ธฐ

1. Button import ํ•˜๊ธฐ


import { SafeAreaView, StyleSheet, ScrollView, View, Text, Button, StatusBar,}
from 'react-native';

2. HomeScreen์— Button ์ถ”๊ฐ€ํ•˜๊ธฐ

<Button
  title="Go to details screen" />

3. App ์ปดํฌ๋„ŒํŠธ์— Stack.Screen ์ถ”๊ฐ€ํ•˜๊ธฐ

<Stack.Screen name="Details" component={DetailsScreen} />

4. Button์— onPress ์ด๋ฒคํŠธ ๋„ฃ๊ธฐ

const HomeScreen = ({navigation}) => {
  return (
    <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
      <Text>Home Screen</Text>
      <Button
        title="Go to details screen" 
        onPress={()=> navigation.navigate("Details")}/>
    </View>
  );
};

5. ๊ฒฐ๊ณผ๋ณด๊ธฐ

Details์— Button ์ถ”๊ฐ€ํ•˜๊ธฐ

DetailsScreen ์ปดํฌ๋„ŒํŠธ ์ฝ”๋“œ ๋ณด๊ธฐ

const DetailsScreen = ({navigation}) => {
  return (
    <View style={{ flex: 1, alignItems: 'center', justifyContent: 'center' }}>
      <Text>Details Screen</Text>
      <Button
        title="Go to Details screen Again" 
        onPress={() => navigation.navigate("Details")}/>

      <Button
        title="Go to Home screen" 
        onPress={() => navigation.navigate("Home")}/>

      <Button
        title="Go back" 
        onPress={() => navigation.goBack()}/>

      <Button
        title="Go to the first screen" 
        onPress={() => navigation.popToTop()}/>
    </View>
  );
};

๊ฒฐ๊ณผ๋ณด๊ธฐ

์ƒ๋‹จ๋ฐ” option ์„ค์ •ํ•˜๊ธฐ

App ์ปดํฌ๋„ŒํŠธ ์ฝ”๋“œ๋ณด๊ธฐ

const App = () => {
  return (
    <NavigationContainer>
      <Stack.Navigator screenOptions={{
          headerStyle:{
            backgroundColor: '#009387',
        },
        headerTintColor: '#fff',
        headerTitleStyle: {
          fontWeight: 'bold',
        }
      }}>
        <Stack.Screen name="Home" component={HomeScreen} options={{
          title : 'Overview'
        }}/>
        <Stack.Screen name="Details" component={DetailsScreen} />
      </Stack.Navigator>
    </NavigationContainer>
  );
}

๊ฒฐ๊ณผ๋ณด๊ธฐ

profile
ํ˜„์‹ค์— ์•ˆ์ฃผํ•˜์ง€ ์•Š๊ณ  - ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€