스킬 자체의 표현으로
이 스킬은 크로스 플랫폼 모바일 애플리케이션 구축을 위한 React Native 스타일링 패턴, React Navigation 6+, Reanimated 3을 다룹니다. 스타일링을 위한 StyleSheet와 styled-components, 다양한 화면 크기를 위한 반응형 레이아웃, 플랫폼별 iOS 및 Android 디자인, Gesture Handler를 활용한 제스처 기반 인터랙션, 성능 최적화 기법을 다룹니다.
이 스킬은 UI 스레드에서 실행되는 60fps 애니메이션, 올바른 내비게이션 타입 정의, 실제 기기 테스트 방식을 통해 네이티브급 사용자 경험을 만드는 데 초점을 맞춥니다.
산출물
- TypeScript 인터페이스, StyleSheet 정의, Reanimated 애니메이션을 갖춘 React Native 컴포넌트
- 60fps 성능을 위해 useSharedValue와 useAnimatedStyle을 사용하는 Reanimated 3 기반 애니메이션 컴포넌트
작동 방식
- 01StyleSheet로 스타일링하기
더 나은 성능을 위해 인라인 스타일 대신 StyleSheet.create를 사용해 컴포넌트 스타일을 정의합니다.
- 02타입이 지정된 라우트로 내비게이션 구축하기
화면 간 타입 안전성을 보장하기 위해 모든 내비게이터에 TypeScript ParamList 타입 정의를 사용하는 React Navigation 6+로 내비게이션을 구현합니다.
- 03UI 스레드에서 애니메이션 실행하기
useSharedValue와 useAnimatedStyle을 사용하여 UI 스레드에서 실행되는 Reanimated 3 워크릿으로 60fps 성능의 애니메이션을 구현합니다.
- 04GestureDetector로 제스처 처리하기
Gesture Handler를 사용하여 제스처 기반 인터랙션을 구현하고, GestureDetector로 제스처를 감싸며, simultaneousHandlers로 충돌을 해결합니다.
- 05렌더링 최적화하기
불필요한 리렌더링을 방지하려면 React.memo와 useCallback을 사용합니다. 리스트의 경우 ScrollView와 map 대신 항상 FlatList를 사용하십시오.