모바일 개발 · 중급
React Navigation 라이브러리에서 `Stack Navigator`와 `Tab Navigator`의 주요 차이점은 무엇이며, 각각 어떤 사용자 경험을 제공할 때 더 적합하다고 생각하시나요?
힌트 · Stack Navigator는 화면 스택 관리를 통해 깊이 있는 탐색 흐름에 적합하며, Tab Navigator는 앱의 주요 섹션 간 빠른 전환에 사용됩니다.
라우팅 구조UI 구조탐색 방식깊이 우선수평적 탐색
모범답안
React Navigation에서 Stack Navigator와 Tab Navigator는 앱의 라우팅 구조와 사용자 경험에 큰 차이를 만듭니다.
Stack Navigator는 화면을 스택처럼 쌓아 올리는 방식으로, 사용자가 특정 화면에서 다음 화면으로 'push'하고, 뒤로 가기 버튼으로 이전 화면으로 'pop'하는 깊이 우선 탐색에 적합합니다. 예를 들어, 상세 정보 페이지에서 관련 상품 페이지로 이동하는 흐름에 유용합니다.
반면 Tab Navigator는 앱의 주요 섹션들을 탭 형태로 보여주어, 사용자가 앱의 여러 핵심 기능 사이를 빠르고 쉽게 전환할 수 있도록 합니다. 예를 들어, 소셜 미디어 앱에서 '홈', '검색', '프로필' 탭을 제공하는 경우에 적합합니다. Tab Navigator는 수평적인 탐색 구조를 제공하며, 앱의 정보 구조가 명확하고 주요 기능에 대한 빠른 접근이 중요할 때 효과적입니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 React Native 면접 질문
- React Native 컴포넌트에서 `state`와 `props`는 각각 어떤 역할을 하며, 이 둘의 주요 차이점은 무엇인가요?
- React Native 함수형 컴포넌트에서 `useEffect` Hook은 주로 어떤 목적으로 사용되며, 의존성 배열의 역할에 대해 설명해주세요.
- React Native 컴포넌트에서 `useEffect` 훅의 의존성 배열(dependency array)과 클린업(cleanup) 함수를 사용하여 발생할 수 있는 일반적인 메모리 누수나 불필요한 재실행 문제를 어떻게 방지할 수 있나요?
- React Native 애플리케이션에서 `Context API`와 `Redux` (또는 MobX와 같은 전역 상태 관리 라이브러리)의 차이점을 설명하고, 각각 어떤 상황에 더 적합하다고 판단하시나요?
- React Native에서 `StyleSheet.create`를 사용하여 스타일을 정의하는 것이 인라인 스타일이나 일반 JavaScript 객체를 직접 사용하는 것보다 어떤 이점들이 있나요?
- `FlatList` 컴포넌트의 성능을 최적화하기 위한 방법들을 3가지 이상 설명하고, 각 방법이 어떤 원리로 성능 향상에 기여하는지 구체적으로 설명해주세요.