Platform Specific Files with Expo Router?
- Expo Router의
app 폴더는 플랫폼별 파일 확장자(예: settings.ios.tsx)를 직접 지원하지 않으며, 모든 파일이 라우트로 인식됩니다. 🚫
app 폴더 내에서 플랫폼별 파일명을 직접 사용하는 것은 불가능합니다. 🙅♀️
- 해결책으로, 라우트 파일에서
export default from 'your/component/path' 구문을 사용하여, 실제 플랫폼별 로직을 포함하는 별도의 컴포넌트를 가리키도록 할 수 있습니다. 🔄
- 이 방식을 통해 라우트 파일 자체는 간결하게 유지하면서, 실제 UI/로직은 플랫폼별로 분리하여 관리할 수 있습니다. 🧩
Platform.select와 같은 조건부 렌더링 코드를 라우트 파일에서 직접 사용하는 대신, 전용 컴포넌트에서 처리하여 코드 가독성을 높일 수 있습니다. ✨
- 결과적으로 네이티브 설정 페이지와 같이 플랫폼별로 다른 사용자 경험을 제공하는 것이 가능해집니다. 📱