componentDidMount() {
Linking.addEventListener('url', event =>
this.handleOpenURL(event.url));
Linking.getInitialURL().then(url => {
console.log('url===',url);
if(url)
this.handleOpenURL(url);
});
}
如果应用程序已经打开并且我尝试更改深层链接 URL,则永远不会调用handleOpenUrl。如果应用尚未打开,则会打开应用并获取 URL。
实际上,这是FBSDK覆盖该方法的问题。
这个解决方案对我有用。https://github.com/react-navigation/react-navigation/issues/798#issuecomment-290363058
一个独立的世博会项目时遇到了这个问题,因为我已将建议的代码从 https://facebook.github.io/react-native/docs/linking.html 添加到*AppDelegate.m
但世博会已经提供了略有不同的功能来处理 URL 事件。从 React Native 文档中删除代码使它对我有用。