我正在尝试在用户点击通知时导航到特定屏幕。我正在使用react-native-push-notification,它工作得很好。问题是,由于某种原因导航不会发生。
我把这个函数称为Notification,它正在被执行
function onNotificationOpened(notification) {
console.log('navigating')
console.log(NavigationActions)
NavigationActions.navigate('Journal')
}
因此,在控制台上打印“导航”,以及导航功能的NavigationActions。所以就在那里。但是,当应用程序打开时,导航不会发生,应用程序将保持在同一屏幕上。屏幕名称中没有拼写错误或任何内容。应用程序打开后,我可以正常导航。如果我将导航放在那里并不重要,应用仍然会在主屏幕上打开。我认为导航确实会发生,但只是在应用程序本身之前打开主屏幕。我当然不确定,这是我的猜测。我在这里做错了吗?
你想要做的是类似于深层链接,锁定在this,有一些有用的答案。
在你的onNotificationOpened
函数上尝试这个
let isBackground = notification.foreground;
if(isBackground == true){
this.props.navigation.navigate('Journal');