У меня небольшая проблема, у меня 2 навигации: одна - stackNavigator , а другая - bottomTabNavigator.
Это код:
const Tab = createBottomTabNavigator(
{
Home: {
screen: HomeScreen,
},
Search: {
screen: SearchScreen
},
Settings: {
screen: SettingsScreen
},
},
{
tabBarOptions: {
showLabel: false,
},
}
);
и стека Навигатор:
const ScreenNavigator = createStackNavigator({
Home: {
screen: HomeScreen
},
Search: {
screen: SearchScreen
},
Settings: {
screen: SettingsScreen
},
PollScreen: {
screen: PollScreen
},
PollPrivacy: {
screen: PollPrivacy
}
}
);
Затем я использую функцию createSwitchNavigator для переключения между навигациями, и в конце я получаю createAppContainer :
const switchNav = createSwitchNavigator({StartPageNavigator, Tab, ScreenNavigator}, {resetOnBlur: false, backBehavior: "none"});
const Navigator = createAppContainer(switchNav);
(О, StartPageNavigator - это еще один stackNavigator, но это не имеет значения)
Как вы можете видеть, у меня есть экран "PollPrivacy" в stackNavigator, но не в нижней вкладке. Теперь, если я «вызову» функцию longPress на компоненте HomeScreen, я получу ActionSheetIOS , затем я нажимаю « Кнопка конфиденциальности » на ActionSheet, а затем я нахожусь на экране PollPrivacy. И все работает. Теперь, когда я нахожусь на экране PollPrivacy, я не вижу bottomTabNavigator (это нормально), а в шапке у меня есть классическая «кнопка возврата» . На этом экране у меня есть это:
static navigationOptions = ({navigation}) => ({
title: "Poll privacy",
headerLeft: <HeaderBackButton onPress={() => navigation.goBack(null)}/>,
});
и работает, но когда я возвращаюсь назад, я не вижу bottomTabNavigator,
оно исчезло. Я не знаю почему .. кто-то может дать мне идею?
Спасибо!