我在一个项目上使用react原生firebase来实现推送通知。有一个请求是,每当用户点击推送通知警报时,都要让用户导航到特定的屏幕。
react导航用于屏幕导航。我使用推送来模仿我的应用程序中的收件箱功能。
你能建议一下实施的方法吗?
一种解决方案是在屏幕上添加监听器并执行导航,因为其中已经有导航道具。但是我的屏幕太多了。另一种解决方案是引用根导航器并将其传递给pushnotification控制器。但这失败了,因为我使用redux,如果我添加config选项{withRef:true},它会抱怨说传递的ref不是函数。
你有更好的方法吗?或者请告诉我我做错了什么?
感谢并致以诚挚的问候,Avinash
我有一个解决方案,你可以在App.js中添加一个侦听,将该通知保存在异步存储中,然后访问同一页面上的通知对象,如果存在令牌,你可以处理登录用户的逻辑(检查用户是否登录,你可以将他导航到所需页面(,在那里你可以将用户导航到所需要的屏幕,在这里你可以检查两件事,
- 轻松访问通知对象,检测是否被点击或接收
- 易于使用的auth,它必须检查推送通知
希望我的回答对你有意义
我使用的是tabNavigator。在第一个屏幕中,我只是简单地调用firebase监听器来获取推送通知,然后进行导航。