我正在用react native创建一个通知提醒应用程序,我试图在用户点击通知时在应用程序中打开特定屏幕,我正在使用react-navigation并尝试与屏幕路径进行深度链接。所以我的问题是,当应用程序已经处于前台状态时,深层链接屏幕可以很好地打开,但是如果我在应用程序关闭时(即使不是最近)打开通知,它将进入深层链接屏幕并立即返回返回上一个屏幕。
我正在useEffect
中进行一些异步操作。不确定是否是问题所在,可以不胜感激。
useEffect(() => {
const paramObject = navigation.getParam('someObject', {});
if (Object.keys(paramObject).length === 0) {
const resourceID = navigation.getParam('resource_id', '');
const target = navigation.getParam('target', '');
axios.get().then(() => {
// some state setting
}).catch(); #Some api call
}
}, []);
注意:当关闭应用程序时打开深度链接页面时会发生问题,我也收到一些警告,例如无法对未安装的组件执行反应状态更新...
答案 0 :(得分:0)
我认为您的问题是应用导航到初始路线。
强制深层链接在执行任何操作之前等待1000毫秒,以确保应用程序在完成任何操作之前均已正确加载。
另一种方法是修改您的动态initialRoute,以识别该应用已通过深度链接打开,并且在那种情况下不做任何事情。