У меня есть ScreenA
, из которого я нажимаю ScreenB
следующим образом:
Navigation.push(this.props.componentId, {
component: {
name: "ScreenB"
},
},
);
На ScreenB
, у меня есть пользовательская кнопка возврата, которая onPress
делает это:
Navigation.pop(this.props.componentId);
Это прекрасно работает на Android (я могу перемещаться между ScreenA
и ScreenB
).В iOS, однако, после нажатия кнопки «Назад» он переходит на ScreenA
, но мгновенно возвращается на ScreenB
.Это происходит только в первый раз.После того, как он возвращает меня к ScreenB
, если я снова нажимаю кнопку «Назад», он ведет себя как следует, и я приземляюсь в ScreenA
.
Я использую react-native-navigation
, а не react-navigation
.
На ScreenA
, у меня есть кнопка сброса на панели навигации, которая настроена следующим образом:
public componentDidMount() {
this.navigationEventListener = Navigation.events().bindComponent(this);
}
public navigationButtonPressed = (event: NavigationButtonPressedEvent) => {
if (event.buttonId === "resetButton") {
this.props.reset();
}
}
public componentDidUnMount() {
if (this.navigationEventListener) {
this.navigationEventListener.remove();
}
}
Любая идея, которая может быть хорошим способом отладки / решения, приветствуется.