点击FCM通知后打开应用后,如何重定向到通知页面?

时间:2019-04-20 14:51:41

标签: react-native firebase-cloud-messaging react-native-android react-navigation

我已经在我的应用程序中成功实现了Firebase云消息传递。但是,当出现新通知时,我的应用程序应该打开,然后从app.js重定向到通知页面。 单击通知时,应用程序显示日志信息,但是当我在该功能中尝试this.props.navigator.push("Notification");时,它显示错误undefined is not an object(evaluating this.props.navigation.push)

我猜这是因为我尚未初始化我的stacknavigator,但我不确定这一点。我在我的应用程序中使用了反应导航。

这是我的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 :(得分:0)

考虑到您的堆栈导航器中有一条名为Notification的路由,并且您的app.js可以访问导航器的navigation道具,那么您可能想使用 {{1 }} (如果您使用的是this.props.navigation.navigate('Notification'))。

代码的问题是this.props.navigation没有任何称为push的方法,因此肯定会给出未定义的错误。要了解有关导航道具的更多信息,请考虑遍历此doc

希望这会有所帮助。祝您编码愉快!