React์์๋ React-Router-Dom์ ์ด์ฉํด์ ํ์ด์ง๋ฅผ ์ ํํ์ง๋ง, ํ์ฌ์์ React-Native์์๋ Navigation ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ธ React Navigation์ ์ฌ์ฉํ๋ค๊ณ ํ๋ค.
RN(Routing)์ ๋ธ๋ผ์ฐ์ ์ฒ๋ผ ์๋จ ํญ์ด ์กด์ฌํ์ง ์๋๋ค. ํ์ด์ง ๊ฐ ์ด๋์ด ์ฝ์ง ์์ ๋ฟ๋๋ฌ, ๋ธ๋ผ์ฐ์ ์ฒ๋ผ '๋ค๋ก๊ฐ๊ธฐ'๋ฅผ ์ ๊ณตํ๊ธฐ ๋๋ฌธ์ ๋ผ์ฐํ ํจ์ค๋ฅผ ๋ชจ๋ ๊ธฐ์ตํด์ผ ํ๋ค. ์ด๋ฅผ ์ง์ํ๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ react-navigation-stack์ ๋๋ค. ๋ค๋ง deepํ๊ฒ ๊ตฌ์ฑ ํ ์๋ก ๋ค๋ก๊ฐ๊ธฐ์ ๋ฒ๋ฒ ์์ ์ธ์งํด์ผ ํฉ๋๋ค.
react navigation ์ค์น
yarn add react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view
*ios - install the pods (via Cocoapods) to complete the linking
npx pod-install ios
App.js
NaviationContainer ์ปดํฌ๋ํธ๋ฅผ import ํด์ค๋ค.
import 'react-native-gesture-handler';
import * as React from 'react';
import { NavigationContainer } from '@react-navigation/native';
export default function App() {
return (
<NavigationContainer>{/* Rest of your app code */}</NavigationContainer>
);
}
CreateStackNavigator
์ฑ์ ๊ฐ ํ๋ฉด์ด ์ ํ๋ ์ ์๋ ๊ธฐ๋ณธ ํ์ ์ ๊ณต
RouteConfigs
๊ฐ ํ๋ฉด์ผ๋ก ์๋ดํด์ฃผ๋ ํ์งํ
StackNavigationConfig
์ ์ฒด ๊ธธ์ ๋ํ ์๋ด๋ฅผ ๋ด๋น. Modal๋ก ๋์ธ์ง, Screen์ผ๋ก ๋์ธ์ง, user๋ฅผ ์ด๋ ์ ์ผ ์ฒ์ ์๋ด ํ ์ง ๊ฐ์ ์ค์ .
navigationOptions
์ธ๋ถ ์ค์ . (Header, Tab, ๋ฑ๋ฑ)
์ฐธ๊ณ ์๋ฃ
React Ntaive Tutorial
React Navigation์ผ๋ก ๋ก๊ทธ์ธ, ํญ ๋ค๋น๊ฒ์ดํฐ ํ๋ฉด ๊ตฌ์ฑํ๊ธฐ
React-Native Navigation(ํ๋ฉด ์ ํ)