Перейдите, когда пользователь открывает уведомление - PullRequest
1 голос
/ 12 апреля 2019

Я пытаюсь перейти к определенному экрану, когда пользователь нажимает на уведомление.Я использую реагировать-родной-push-уведомления, и это прекрасно работает.Проблема в том, что по какой-то причине навигация не происходит.

Я называю эту функцию onNotification, и она выполняется

    function onNotificationOpened(notification) {
        console.log('navigating')
        console.log(NavigationActions)
        NavigationActions.navigate('Journal')
    }

Таким образом, «навигация» печатается и на консоли.как NavigationActions с функцией навигации в нем.Так и есть.Но когда приложение открывается, навигация не происходит, и приложение остается на том же экране.Там нет опечатка или что-нибудь в псевдониме.После открытия приложения я могу нормально перемещаться.Неважно, положил я там навигацию или нет, приложение все равно открывается на главном экране.Я думаю, что это может быть, что навигация действительно происходит, но чуть раньше, чем само приложение открывает главный экран.Я не уверен в этом, конечно, это мое предположение.Я что-то здесь не так делаю?

Ответы [ 2 ]

1 голос
/ 12 апреля 2019

то, что вы хотите сделать, похоже на глубокое связывание, блокировка на this Есть несколько полезных ответов.

0 голосов
/ 12 апреля 2019

Попробуйте это на вашей onNotificationOpened функции

 let isBackground = notification.foreground;
    if(isBackground == true){
      this.props.navigation.navigate('Journal');
...