Linking.getInitialURL 不断被执行和应用被复制
Posted
技术标签:
【中文标题】Linking.getInitialURL 不断被执行和应用被复制【英文标题】:Linking.getInitialURL constantly being executed and app being duplicated 【发布时间】:2017-08-18 09:09:28 【问题描述】:对不起,冗长的标题。
这是我的componentDidMount()
函数
componentDidMount()
Linking.getInitialURL().then(data =>
console.log(data);
);
当我启动我的应用程序时,data
正确设置为 null
。
用户然后通过谷歌浏览器登录,该浏览器通过以下方式打开
Linking.open('https://...);
当用户被重定向回我的应用程序时,我可以看到 data
已被填充。这一切都很好。
但是,当我被重定向回来时,我看到了重复的组件。这是来自 React Native Debugger 的屏幕截图。我有<AppContainer root=1..>
和<AppContainer root=11..>
由于这种重复,我的应用程序调用了两次componentDidMount()
,并且多次调用了Linking.getInitialURL()
。
此外,如果我通过开发者菜单刷新应用程序,则从 Linking.getInitialURL
的 promise 返回的 data
仍然填充,而它应该是 null
。
【问题讨论】:
【参考方案1】:解决此问题的方法是将android:launchMode="singleTask"
添加到我的.MainActivity
活动中。
在this Github 线程上找到解决方案。
【讨论】:
以上是关于Linking.getInitialURL 不断被执行和应用被复制的主要内容,如果未能解决你的问题,请参考以下文章