반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- Drawer
- gitpages
- redux/toolkit
- react native
- 갤럭시 스킨
- nodejs
- Hook 함수
- reactnative
- listeners
- bottom tabBar
- useMemo
- rembg
- 포트폴리오 사이트
- MonGo
- bottom tabs
- useEffect
- useRef
- react
- 리액트 쿼리
- ReactQuery
- iTerm2
- tabBarStyle
- useState
- 에뮬레이터 스킨
- 이미지 배경 지우기
- useCallback
- oh-my-zsh
- mongoDB
- 리액트네이티브
- Stack
Archives
- Today
- Total
프론트엔드 개발자의 개발 놀이터
Drawer Navigator 등록 방법 본문
반응형
화면에서 햄버거 메뉴 버튼을 누를 시 좌측 또는 우측 사이드바가 나오는 화면을 만들고 싶을 땐 Drawer Navigator를 사용하면 됩니다.
1. 설치
yarn add @react-navigation/drawer
2. 등록
여기서 기존의 Bottom Navigator를 등록하는 방식에서 약간의 차이점이 발생합니다.
기존엔 <NavigationContainer>안에 <Bottom.Navigator>를 등록하는 방식이였다면, <Bottom.Navigator>가 등록되기 전에 <Drawer.Navigator>가 먼저 등록되고 그 다음 <Bottom.Navigator>를 등록하는 방식으로 변경이 되어야 합니다.
before : NavigationContainer > Bottom.Navigator > Bottom.Screen
after : NavigationContainer > Drawer.Navigator > Drawer.Screen > Bottom.Navigator > Bottom.Screen
// RootNavigation.tsx
import {NavigationContainer} from '@react-navigation/native';
import {createDrawerNavigator} from '@react-navigation/drawer';
const RootNavigation = () => {
const Drawer = createDrawerNavigator();
return (
<NavigationContainer>
<Drawer.Navigator
backBehavior="history"
screenOptions={{
headerShown: false,
// 우측에서 나오게 하고 싶으면 right
drawerPosition: 'left',
}}
// 사이드바 메뉴 컴포넌트
drawerContent={props => <Menu {...props} />}>
<Drawer.Screen name="NOTE" component={StackNavigation} />
</Drawer.Navigator>
</NavigationContainer>
)
};
// StackNavigation.tsx
import {createStackNavigator} from '@react-navigation/stack';
const StackNavigation = () => {
const Stack = createStackNavigator();
return (
<Stack.Navigator>
<Stack.Screen
name={AllScreenList.BottomTabs}
component={BottomNavigation}
options={{headerShown: false}}
/>
{/* ...사이드바에 추가될 Screen */}
</Stack.Navigator>
);
};
// BottomNavigation.tsx
import {createBottomTabNavigator} from '@react-navigation/bottom-tabs';
const BottomNavigation = () => {
const Bottom = createBottomTabNavigator();
return (
<Bottom.Navigator
backBehavior="history"
screenOptions={{...}}>
<Bottom.Screen ... />
</Bottom.Navigator>
)
};
'React Native' 카테고리의 다른 글
Bottom tabBar 안보이도록 설정하는 방법 (0) | 2024.02.07 |
---|---|
Bottom tabs Navigation listeners 등록 (0) | 2024.02.07 |
자주 사용하는 RN 라이브러리 정리 (0) | 2024.02.03 |
RN 다양한 에러 대응 (0) | 2024.02.02 |
안드로이드 갤럭시 에뮬레이터 스킨 적용하기 (0) | 2024.02.02 |