Я использую комбинацию навигатора вкладок, стекового навигатора и переключателя навигатора в своем собственном приложении реакции с react-navigation
.
Это хорошо работает, за исключением того, что я хотел бы сохранить нижние вкладки на каждом экране. В настоящее время, если я перейду к экрану UserProfile
, нижние вкладки исчезнут.
App.js:
const TabStack = createBottomTabNavigator({
Feed: { screen: FeedScreenStack },
MyProfile: { screen: ProfileScreenStack },
});
const UserStack = createStackNavigator(
{
UserProfile: { screen: userProfile },
Comments: { screen: comments }
}
);
const MainStack = createSwitchNavigator(
{
Home: TabStack,
User: UserStack,
Auth: AuthStack
},
{
initialRouteName: 'Home'
}
);
Чтобы решить эту проблему, я попытался создать компонент из навигатора вкладок и просто импортировать его в userProfile.js
, например <BottomTab />
.
bottomTab.js:
const BottomTab = createBottomTabNavigator({
Feed: { screen: FeedScreenStack },
MyProfile: { screen: ProfileScreenStack },
})
export default BottomTab
но это не работает, потому что в реакции-навигации 3 мне нужно установить контейнер приложения напрямую, и я не уверен, как его обойти. Единственное другое решение, которое я могу придумать, - это создать собственный компонент, представляющий собой просто панель с кнопками, указывающими на разные страницы, но мне интересно, могу ли я просто использовать TabNavigator?