我已经在我的应用中成功实现了Firebase云消息传递。但是,当出现新通知时,我的应用应打开,然后从 app.js 重定向到通知页面。单击通知时,该应用程序显示日志信息,但是当我尝试在该函数中this.props.navigator.push("Notification");
时,它会显示错误undefined is not an object(evaluating this.props.navigation.push)
猜这是因为我还没有初始化我的堆栈导航器,但我不确定这一点。我正在我的应用程序中使用反应导航。
这是我应用程序中的函数.js单击通知时会调用该函数。
const notificationOpen = await firebase.notifications().getInitialNotification();
if (notificationOpen) {
const { title, body } = notificationOpen.notification;
console.log('getInitialNotification:');
this.props.navigator.push("Notification");
}
此外,即使在应用程序中的渲染函数中,导航代码也不起作用.js因此我认为 props 未在 app.js 中初始化。任何人都可以帮助我解决此问题并将我带到通知页面吗?
考虑到您的堆栈导航器中有一条名为 Notification
的路由,并且您的app.js
可以访问导航器的navigation
道具,那么如果您使用的是 react-navigation
,您可能希望使用 this.props.navigation.navigate('Notification')
.
你的代码的问题是this.props.navigation没有任何称为push的方法,所以它肯定会给出一个未定义的错误。要了解有关导航道具的更多信息,请考虑阅读此文档。