深度链接屏幕自动返回上一屏幕 - React Native Android
Deeplinked screen automatically returning to previous screen - ReactNative Android
我在 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
}
}, []);
注意:当应用程序关闭时深层链接页面打开时会出现问题,我也收到一些警告,如 无法对未安装的组件执行反应状态更新...
我认为你的问题是应用程序导航到初始路线。
强制深度链接在执行任何操作之前等待 1000 毫秒,以确保应用在执行任何操作之前正确完成加载。
另一种方法是修改您的动态 initialRoute 以识别该应用程序已通过深度链接打开并且在该情况下不执行任何操作。
我在 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
}
}, []);
注意:当应用程序关闭时深层链接页面打开时会出现问题,我也收到一些警告,如 无法对未安装的组件执行反应状态更新...
我认为你的问题是应用程序导航到初始路线。
强制深度链接在执行任何操作之前等待 1000 毫秒,以确保应用在执行任何操作之前正确完成加载。
另一种方法是修改您的动态 initialRoute 以识别该应用程序已通过深度链接打开并且在该情况下不执行任何操作。