React Navigation 5 Tutorials [ #1 ]

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

React-Navigation-5 Tutorials

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

React Navigation 5 Tutorials

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

React-Native ํ™”๋ฉด์ „ํ™˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ ๋ฐ ์ ์šฉ

  • react-navigation
  • native-navigation
  • react-native-navigation
  • react-native-router-flux

react-navigation์„ ๋งŽ์ด ์“ฐ๋Š” ๋“ฏ ํ•˜๋‹ค!

1. Project ์ƒ์„ฑํ•˜๊ธฐ

react-native init RNV5

2. React-Navigation ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์„ค์น˜ํ•˜๊ธฐ

2-1. ReactNavigation ์‚ฌ์ดํŠธ ๋“ค์–ด๊ฐ€๊ธฐ

์—ฌ๊ธฐ ํด๋ฆญํ•˜๊ธฐ

2-2. Docs๋กœ ๋“ค์–ด๊ฐ€๊ธฐ

์—ฌ๊ธฐ ํด๋ฆญํ•˜๊ธฐ

2-3. ์„ค์น˜ ๋ช…๋ น์–ด ์ž…๋ ฅํ•˜๊ธฐ

  1. react-navigation ์„ค์น˜ํ•˜๊ธฐ
npm install @react-navigation/native
  1. dependencies ์„ค์น˜ํ•˜๊ธฐ
npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view
  1. ๋งŒ์•ฝ Mac์—์„œ ios์šฉ์œผ๋กœ ๊ฐœ๋ฐœ ์ค‘์ธ ๊ฒฝ์šฐ์—๋Š” cocoapods๋ฅผ ํ†ตํ•˜์—ฌ ํฌํŠธ๋ฅผ ์„ค์น˜ํ•ด์•ผ ์—ฐ๊ฒฐ ์ž‘์—…์„ ์™„๋ฃŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (android๋Š” ์•ˆํ•ด๋„ ๋  ๋“ฏ)
npx pod-install ios
  1. android/app/build.gradle

์˜์ƒ์—๋Š” ์ด๋ ‡๊ฒŒ ๋˜์–ด ์žˆ๋Š”๋ฐ

์ง€๊ธˆ์˜ docs์—๋Š” ์—†๋Š”๊ฑฐ ๋ณด์•„ ํ•˜๋‹ˆ ๊ทธ๋ƒฅ ๋„˜๊ธด๋‹ค.

  1. index.js์•ˆ์— ์ฝ”๋“œ ๋„ฃ๊ธฐ
import 'react-native-gesture-handler';

3. NavigationContainer import ํ•˜๊ธฐ

import { NavigationContainer } from '@react-navigation/native';

4. App.js ์ •๋ฆฌํ•˜๊ธฐ

4-1. Stack.Navigator์„ ์œ„ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์ถ”๊ฐ€ํ•˜๊ธฐ

์—ฌ๊ธฐ ํด๋ฆญํ•˜๊ธฐ

  1. react-navigation/stack ์„ค์น˜ํ•˜๊ธฐ
npm install @react-navigation/stack

5. App.js์— ์ฝ”๋“œ ์ถ”๊ฐ€ํ•˜๊ธฐ

// In App.js in a new project

import * as React from 'react';
import { View, Text } from 'react-native';
import { NavigationContainer } from '@react-navigation/native';
import { createStackNavigator } from '@react-navigation/stack';

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

const Stack = createStackNavigator();

function App() {
  return (
    <NavigationContainer>
      <Stack.Navigator>
        <Stack.Screen name="Home" component={HomeScreen} />
      </Stack.Navigator>
    </NavigationContainer>
  );
}

export default App;

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


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

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