ReactNavigation
- 종류
- 스택(stack) 네비게이션,
- 탭(tab) 네비게이션,
- 드로어(drawer) 세 종류이다.
- 컴포넌트
- NavigationContainer 컴포넌트
네비게이션의 계층구조와 상태를 관리하는 컨테이너 역할을 하며,
모든 네비게이션 구성 요소를 감싼 최상위 컴포넌트
- Navigator 컴포넌트
화면을 관리하는 중간 관리자 역할로 네비게이션을 구성하며,
여러 개의 Screen 컴포넌트를 자식 컴포넌트로 가짐
- Screen 컴포넌트
Screen 컴포넌트는 화면으로 사용되는 컴포넌트로 name과 component 속성을 지정해야 함
DarkMode
- NavigationContainer theme props
- "userInterfaceStyle": "automatic" 로 변경
- NavigationContainer에 theme props를 적용함
- 리액트 네이티브에서 제공하는 useColorScheme 훅을 사용하여 다크모드인지 아닌지 판별함
- theme props를 다크모드라면 리액트 네이티브에서 제공하는 Theme인 DarkTheme 아니라면 DefaultTheme로 설정함
- ThemeProvider
- emotion 라이브러리에서 제공해주는 ThemeProvider 컴포넌트를 제일 외각에 씌워주면 theme을 제공해줄 수 있다.
- 앞으로 styledComponents를 사용할 때 props.theme 으로 어디서든 자유롭게 접근할 수 있다.