【发布时间】:2023-01-04 16:11:15
【问题描述】:
我有一个反应本机应用程序,在主屏幕上我有打开深层链接的代码。我使用 Linking.getInitialURL() 检查深层链接是否存在,然后如果 initialUrl 存在我重定向用户,这个流程工作正常但深层链接没有被清除。
例如,如果我点击深层链接
myapp://home/gallery 它将我带到画廊屏幕。当我在图库屏幕上单击“返回主页”按钮时,我会转到主屏幕。但是 Linking.getInitialURL() 再次检测到 myapp://home/gallery 链接并将用户重定向回 Gallery 屏幕。只有在此之后,如果我转到主屏幕,initialUtl 为空。第一次打开链接后,如何清除Linking.getInitialURL(),为什么 react-native 检测不到它?
每次屏幕聚焦(通过刷新屏幕)时,我都尝试检查Linking.getInitialURL(),但仍然
Linking.getInitialURL() 会在用户第一次从图库回家时返回深层链接。
任何帮助和建议表示赞赏。
编辑(添加代码)
// Home screen
useEffect(()=> {
const getLink = async () => {
const link = Linking.getInitialURL()
if (link){
await Linking.openURL(url)}
}
getLink()
},[])
【问题讨论】:
-
也许如果您可以添加一些代码,它会更容易提供帮助
标签: android ios reactjs react-native deep-linking