Как перенаправить на страницу уведомлений, когда приложение открывается после нажатия уведомления FCM? - PullRequest
0 голосов
/ 20 апреля 2019

Я успешно реализовал облачную передачу сообщений в моем приложении. Но когда появляется новое уведомление, мое приложение должно открыться, а затем перенаправить на страницу уведомлений из app.js. Приложение показывает информацию журнала при нажатии на уведомление, но когда я пытаюсь this.props.navigator.push("Notification"); в этой функции, оно показывает ошибку undefined is not an object(evaluating this.props.navigation.push)

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

Вот функция в моем app.js, которая вызывается при нажатии на уведомление.

    const notificationOpen = await firebase.notifications().getInitialNotification();
    if (notificationOpen) {
      const { title, body } = notificationOpen.notification;
      console.log('getInitialNotification:');
      this.props.navigator.push("Notification");
    }

Кроме того, код навигации не работает даже в моей функции рендеринга в app.js, поэтому я думаю, что реквизиты не инициализируются в app.js. Может кто-нибудь помочь мне исправить это и посадить меня на страницу уведомлений?

1 Ответ

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

Учитывая, что у вас есть маршрут под названием Notification в вашем стековом навигаторе, а также у вашего app.js есть доступ к navigation опоре навигатора, вы можете использовать this.props.navigation.navigate('Notification') на случай, если выиспользуете react-navigation.

Проблема с вашим кодом заключается в том, что this.props.navigation не имеет метода с именем push, поэтому он наверняка выдаст неопределенную ошибку.Чтобы узнать больше о навигационной опоре, подумайте над этим doc .

Надеюсь, это поможет.Удачного кодирования!

...