У меня есть стек навигатора верхнего уровня
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);`
Я не хочу использовать заголовок слева в опциях навигации. Я просто хочу, чтобы он перемещался нормально, т. Е. Возвращался к ранее посещенному экрану. Заранее большое спасибо за помощь ~