- React Native 애플리케이션의 ‘페이지 이동’을 하는 내비게이션을 관리하고 구현하는 데 도움이 되는 라이브러리입니다. 이 라이브러리는 React Native의 다양한 기능을 활용하여 내비게이션을 관리하며, iOS와 Android를 모두 지원합니다.
- Stack Navigation, Tab Navigation 및 Drawer Navigation과 같은 다양한 타입의 네비게이션을 제공합니다. 각각의 내비게이션 타입은 사용자의 요구에 따라 선택할 수 있습니다. - 또한 React Native Navigation은 다양한 옵션을 제공하여 사용자 정의를 할 수 있습니다.
💡 StackNavigator - ‘스택 형태’로 화면 위에 새로운 화면을 쌓아서 탐색을 하는 네비게이션 컴포넌트를 의미합니다. - 스택 형태로 쌓아두기에 이전 화면으로 되돌아 갈 수 있으며 탐색 히스토리를 유지하는 특징을 가지고 있습니다. 그렇기에 주로 탐색이 많은 애플리케이션에 적합합니다. - 예를 들어, A 화면에서 버튼을 누르면 B 화면으로 이동하고, B 화면에서 다시 버튼을 누르면 A 화면으로 돌아오는 경우에 사용할 수 있습니다. - 기본적으로 스택 네비게이터는 iOS에서는 새 화면으로 이동 시 오른쪽에서 슬라이드 되고 Andriod에서는 OS 기본 애니메이션이 사용됩니다. (* 해당 애니메이션을 사용자의 선택으로 정의할 수 있음)
# Stack Navigation을 설치합니다.$ yarn add @react-navigation/stack @react-navigation/native
# 제스쳐 핸들러를 설치합니다.$ yarn add react-native-gesture-handler
# 디자인 효과를 넣을 수 있도록 라이브러리 추가 $ yarn add @react-native-masked-view/masked-view
# StackNavigation을 설치합니다.
$ yarn add @react-navigation/stack @react-navigation/native
# 제스쳐 핸들러를 설치합니다.
$ yarn add react-native-gesture-handler
# 디자인 효과를 넣을 수 있도록 라이브러리 추가
$ yarn add @react-native-masked-view/masked-view
# 안전 영역에 대한 정보를 제공하는 라이브러리입니다. 안전 영역은 디바이스 스크린의 테두리 주변에 위치한 일부 영역을 말합니다.
$ yarn add react-native-safe-area-context
💡 안드로이드 디바이스로 빌드를 하는 도중에 에러가 발생하였습니다. 💡 빌드 도중 react-native-gesture-handler 라이브러리 내에서 발생하는 문제점으로 판단이 되었습니다.
error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081
e: /Users/lee/Desktop/workspace/tugboat/tugboat-rn/node_modules/react-native-gesture-handler/android/src/main/java/com/swmansion/gesturehandler/react/RNGestureHandlerButtonViewManager.kt: (247, 92): Unresolved reference: TIRAMISU
FAILURE: Build completed with 2 failures.
1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':react-native-gesture-handler:compileDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
> Compilation error. See logfor more details
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
==============================================================================
2: Task failed with an exception.
-----------
* What went wrong:
java.lang.StackOverflowError (no error message)
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
==============================================================================