Как мне использовать Navigation.pop, чтобы перейти на предыдущий экран на iOS? - PullRequest
0 голосов
/ 29 марта 2019

У меня есть 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();
    }
}

Любая идея, которая может быть хорошим способом отладки / решения, приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...