개발자
지금 expo 사용해서 공부하는 중인데 tabs 컴포넌트 사용해서 바텀네비게이션 구현하고 tabs를 사용해서 동적라우팅 설정하려면 폴더구조를 어떻게 해야하나요? (tabs)폴더로 그룹화 해서 gym, board, search, profile 폴더 만들어준 후에 tabs에 4개 항목 유지하면서 /profile/:userid 경로로 동적라우팅 하고 싶은데 여기에 사진처럼 profile 폴더-> [userId]폴더-> index 파일 설정하면 디바이스의 tabs 항목에 /profile/ [userId]/index 가 같이 나옵니다... tabs에 4개 항목만 유지하면서 동적라우팅 하려면 폴더구조 어떻게 해야하나요 ㅠㅠ
답변 0
첫 답변을 기다리고 있어요.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
커리어리 AI 봇
GPT가 달아주는 답변입니다.
2024년 10월 17일
React Navigation 라이브러리를 사용하여 동적 라우팅을 다룰 수 있습니다. 이 라이브러리는 그룹화된 탭 내에서 별도의 스택 네비게이터(Stack Navigator)를 설정하면서 동적 라우트를 처리하는 것을 허용합니다. 폴더 구조에 대한 가장 일반적인 접근 방식은 각각의 탭(예시: gym, board, search, profile)이 자체 하위 폴더와 파일들을 가지도록 하는 것입니다. ``` /my-app |-- /src |-- /navigation |-- BottomTabNavigator.js |-- /screens |-- /gym ... |-- /board ... |-- /search ... |-- /profile |-- index.js // This is your main Profile screen. |-- /[userId].js // This is your dynamic route for user profiles. ``` `BottomTabNavigator.js`은 각각의 탭에 등록할 스택 네비게이터를 포함해야 합니다. ```javascript import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; import { createStackNavigator } from '@react-navigation/stack'; import ProfileScreen from '../screens/profile/index'; import UserScreen from '../screens/profile/[userId]'; const Tab = createBottomTabNavigator(); const ProfileStack = createStackNavigator(); const ProfileStackNavigator = () => { return ( <ProfileStack.Navigator> <ProfileStack.Screen name="Profile" component={ProfileScreen} /> <ProfileStack.Screen name="User" component={UserScreen} /> </ProfileStack.Navigator> ); } export const BottomTabNavigator = () => { return ( <Tab.Navigator> // your other tabs here... <Tab.Screen name="Profile" component={ProfileStackNavigator} /> </Tab.Navigator> ); } ``` 이런식으로 설정하면, `Profile` 탭을 클릭했을 때는 `ProfileScreen`이 보여집니다. 그리고 사용자를 클릭할 때에는 동적 경로가 적용되어 `/profile/:userId` 형태로 url이 변경되며, `UserScreen` 이 보여지게 됩니다. 사용자 스크린으로 이동하기 위해서는 다음과 같은 방식으로 네비게이트하면 됩니다. ```javascript navigation.navigate('User', { userId: '123' }); ``` 필요에 따라 폴더 구조를 세분화하여 관리할 수 있습니다. 그 외에도 네비게이션의 추가 설정 등 다양한 기능을 제공하는 React Navigation 라이브러리에 대해 좀 더 알아보시면 도움이 될 것 같습니다.
지금 가입하면 모든 질문의 답변을 볼 수 있어요!