npm install @react-navigation/native
expo install react-native-gesture-handler react-native-reanimated react-native-screens react-native-safe-area-context @react-native-community/masked-view
npm install react-native-reanimated react-native-gesture-handler react-native-screens react-native-safe-area-context @react-native-community/masked-view
NavigationContainer 컴포넌트, Navigator 컴포넌트, Screen 컴포넌트
NavigatorContainer 컴포넌트
Navigator 컴포넌트
Screen 컴포넌트
Stack 네비게이션은 이름처럼 쌇이는 네비게이션이다.
가장, 먼저 Stack 네비게이션을 추가해주어야 한다. (아마, 네비게이션의 종류별로 따로 추가해주는 듯 하다.
npm install @react-navigation/stack
아래 코드는 Stack Navigation을 만드는 코드이다.
1. 어떤 종류의 네비게이션을 만들든 항상 필요한 NavigationContainer 컴포넌트를 추가해 주었다.
2. 해당 네비게이션은 stack을 만들 것이기 때문에 관련 함수를 추가하였다.
3. 네비게이션에서 사용할 화면을 가져왔다.
4. 이 후 구조는 앞서 설명한 대로 NavigatorContainer, Navigator, Screen 순서대로 배치하였다.
//NavigationContainer 추가
import { NavigationContainer } from '@react-navigation/native';
//Stack에서 작동하는 Navigator와 Screen을 추가
import { createStackNavigator } from '@react-navigation/stack';
//네비게이션에서 사용할 화면 가져오기
//여기서 화면은 우리가 흔히 볼 수 있는 컴포넌트 이다.
import { Join } from '../Screen';
//Stack Navigation만들기
const Stack = createStackNavigator();
const LoginNavigation = ({}) => {
<NavigationContainer>
<Stack.Navigator>
<Stack.Screen
name="Join"
component={Join}
options={{
headerShown: false,
}}
/>
<Stack.Screen
name="Join2"
component={Join}
/>
</Stack.Navigator>
</NavigationContainer>
}
export default LoginNavigation;
* 주의 사항
1. screen에서 component는 겹쳐도 별도의 에러가 없다. 다만, name값은 겹치면 오류가 나고 실행이 안된다.
Stack의 Screen에 들어갈 수 있는 옵션
Screen에는 위에서 headerShown을 적은 것 처럼 다양한 옵션이 들어갈 수 있다.
주로 내 기준에서 자주 사용되는 옵션을 몇가지 알아보고자 한다.
이를 통해서 React Navigation의 설치와 Stack 네비게이션에 대해 알아보았다.
React Navigation은 React Native 앱을 제작하는데 없어서는 안되는 중요한 존재이다.
다음번에는 Bottom tab을 활용해 하단바를 만들어볼 것이다.
참고 링크 : reactnavigation.org/docs/stack-navigator/
React Navigation (리액트 네비게이션) Bottom tab + 아이콘 추가 (0) | 2021.02.18 |
---|
댓글 영역