我已经在我的应用程序中成功实现了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中初始化。 谁能帮我解决这个问题并将我登陆到通知页面?
答案 0 :(得分:0)
考虑到您的堆栈导航器中有一条名为Notification
的路由,并且您的app.js
可以访问导航器的navigation
道具,那么您可能想使用 {{1 }} (如果您使用的是this.props.navigation.navigate('Notification')
)。
代码的问题是this.props.navigation没有任何称为push的方法,因此肯定会给出未定义的错误。要了解有关导航道具的更多信息,请考虑遍历此doc。
希望这会有所帮助。祝您编码愉快!