Кнопка React-Navigation Back возвращает меня к начальному экрану, а не к ранее посещенному экрану. - PullRequest
0 голосов
/ 13 мая 2018

У меня есть стек навигатора верхнего уровня

export const RootNavigator = StackNavigator({
MainScreen: {
screen: MainScreen,
navigationOptions: {
    gesturesEnabled: false,
    header: null,
},
},
Forgot: {
screen: forgot,
navigationOptions: {
    gesturesEnabled: false,
},
},
RegisterRouter: {
screen: RegisterRouter,
navigationOptions: {
    gesturesEnabled: false,
},  
....

class AppWithNavigationState extends React.Component {
 render() {
 const { dispatch, nav } = this.props;
return (
  <RootNavigator
    navigation={addNavigationHelpers({
      dispatch,
      state: nav,
      addListener,
    })}
  />
);
}
}

registerRouter - это еще один стековый навигатор

const RegisterRouter = StackNavigator({
Register: {
    screen: Register,
    navigationOptions: {
        title: 'Registration',
        gesturesEnabled: false
    }
},
PersonalInfo: {
    screen: PersonalInfo,
    navigationOptions: {
        headerTitle: 'About you',
        gesturesEnabled: false
    }
},
PickPackage: {
    screen: PickPackage,
    navigationOptions: {
        title: 'Packages',
        gesturesEnabled: false
    }`

однако, когда бы я ни нажимал кнопку «назад», я возвращался на главный экран, а не на предыдущий экран.

я называю навигацию следующим образом

onRegisterPress() {
  this.props.navigation.navigate('RegisterRouter');
}
<Button onPress={this.onRegisterPress.bind(this)} >
     Register
</Button>

Я также называю это внутри создателей действий следующим образом

const navToQuestionaire = NavigationActions.navigate({
    routeName: 'PersonalInfo',
});
dispatch(navToQuestionaire);`

Я не хочу использовать заголовок слева в опциях навигации. Я просто хочу, чтобы он перемещался нормально, т. Е. Возвращался к ранее посещенному экрану. Заранее большое спасибо за помощь ~

1 Ответ

0 голосов
/ 14 мая 2018

Оказывается, мои опции навигации блокировали заголовки для суб-маршрутов, поэтому кнопка "Назад" всегда была связана с корневым навигатором, поэтому она всегда возвращалась туда.

...