`goBack` в реагирующей навигации не возвращается - PullRequest
0 голосов
/ 29 августа 2018

Вот моя навигация.js:

export const BottomTabs = createBottomTabNavigator({
    'Specials': {
        screen:SpecialsScreen
    },
    'Menus': {
        screen:MenusScreen
    },
});

export const Drawer = DrawerNavigator({
    Home: { screen: Home, navigationOptions: {drawerLabel:() => null} },
    Explore: { screen: BottomTabs },
    'Support & Contact': { screen: ContactScreen },
    Settings: { screen: Settings, navigationOptions: {drawerLabel:() => null} },
    TOU: { screen: TOU, navigationOptions: {drawerLabel:() => 'Terms of Use'} },
    Privacy: { screen: Privacy, navigationOptions: {drawerLabel:() => 'Privacy Policy'} },
    Disclaimer: { screen: Disclaimer },
});

Итак, приложение запускается, и вы получаете экран Home:

App.js
render(){
    return(<Provider store={store}><Drawer /></Provider>)
}

Оттуда вы нажимаете «Я согласен» с условиями использования и получаете сообщение на экране Explore:

HomeScreen.js
<TouchableOpacity onPress={() => {
    this.props.navigation.navigate('Specials');
}}>

С Specials Я нажимаю значок гамбургера, чтобы переключить мой ящик, и перехожу к Support & Contact, из которого есть кнопка «Назад», с которой я хочу вернуться на предыдущий экран:

ContactScreen.js
<TouchableOpacity onPress={() => {
    this.props.navigation.goBack();
}}>

Но это приводит меня к Home, а не Explore или Specials, как я себе представляю. Что я пропустил?

1 Ответ

0 голосов
/ 31 августа 2018

Пришлось добавить стековые навигаторы

const AppStack = createStackNavigator({ App: SpecialsScreen, MenusScreen });
const HomeStack = createStackNavigator({ Home });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...