하단 버튼(탭)을 통해 화면을 전환하는 것을 구현하려고 봤더니 라이브러리가 필수였다.
https://www.npmjs.com/package/@react-navigation/bottom-tabs
@react-navigation/bottom-tabs
Bottom tab navigator following iOS design guidelines. Latest version: 6.3.2, last published: a month ago. Start using @react-navigation/bottom-tabs in your project by running `npm i @react-navigation/bottom-tabs`. There are 210 other projects in the npm re
www.npmjs.com
npm i @react-navigation/bottom-tabs
위 명령어를 통해 설치해주고 추가로 필요한 요소들을 공식문서를 보면서 함께 설치해주었다. 공식문서는 여기(https://reactnavigation.org/docs/getting-started)
https://reactnavigation.org/docs/getting-started/
reactnavigation.org
npm install @react-navigation/native
npm install react-native-screens react-native-safe-area-context
기본적으로 하단에 탭을 생성하려면 다음과 같이 컴포넌트를 생성해주면 된다. (코드는 공식문서 예제)
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
const Tab = createBottomTabNavigator();
function MyTabs() {
return (
<Tab.Navigator>
<Tab.Screen name="Home" component={HomeScreen} />
<Tab.Screen name="Settings" component={SettingsScreen} />
</Tab.Navigator>
);
}
나는 App.js에서 Tab 만드는 것까지 해주었다.
import {createBottomTabNavigator} from '@react-navigation/bottom-tabs';
import React from 'react';
import AlarmPage from './pages/screens/AlarmPage';
import Home from './pages/screens/Home';
import {NavigationContainer} from '@react-navigation/native';
const Tab = createBottomTabNavigator();
export default function App() {
return (
<NavigationContainer>
<Tab.Navigator>
<Tab.Screen name="Home" component={Home} />
<Tab.Screen name="Alarms" component={AlarmPage} />
</Tab.Navigator>
</NavigationContainer>
);
}
이렇게 해줬더니 상단에 탭 이름이 표시되어 옵션을 추가로 주었다.
공식문서의 이 부분(https://reactnavigation.org/docs/bottom-tab-navigator/#header-related-options)을 참고했다.
<Tab.Screen
name="Home"
component={Home}
options={{headerShown: false}}
/>
이 옵션과 함께 알람이 몇개 왔는지 배지로 보여줄 수 있는 옵션 역시 임시 값(5)를 주어 추가했다.
<Tab.Screen
name="Alarms"
component={AlarmPage}
options={{headerShown: false, tabBarBadge: 5}}
/>
'TIL (Today I Learned)' 카테고리의 다른 글
기획하는 김에 사용해본 피그마 (FIgma) (0) | 2022.08.08 |
---|---|
React Native Project 3 - Stack navigation (0) | 2022.08.07 |
React Native 개념 정리 (0) | 2022.08.02 |
React Native 개발 환경 셋팅하기 (안드로이드 스튜디오) (0) | 2022.08.02 |
"Do it! 지옥에서 온 문서 관리자 깃 & 깃허브 입문" 정리 (ch4~6) (0) | 2022.07.17 |