我在 IOS 上使用 React Native、React Navigation 进行深度链接时遇到问题。该错误不会在 Android 上显示。当我启动应用程序时,我收到控制台错误:
Looks like you have configured linking in multiple places. This is likely an error since deep links should only be handled in one place to avoid conflicts. Make sure that:
- You don't have multiple NavigationContainers in the app each with 'linking' enabled
- Only a single instance of the root component is rendered
我将我的应用程序缩减为: 应用程序:
const linking = {
prefixes: ['apptest://'],
config: {
screens: {
Home: 'home',
},
},
}
return (
<NavigationContainer
linking={linking}
fallback={<Loading />}
ref={navigationRef}
>
<Text>Hello</Text>
</NavigationContainer>
)
索引:
import { AppRegistry } from 'react-native'
import App from './App'
import { name as appName } from './app.json'
AppRegistry.registerComponent(appName, () => App)
我已经仔细检查了 AppDelegate.mm 文件和 Info.plist 以包含正确的方案。链接实际上有效,但我想知道是什么导致了错误消息。我检查了整个项目,只有一个NavigationContainer的声明,没有其他链接相关的代码。应用程序根目录仅渲染一次,我也在真实设备上尝试过。我将应用程序减少为只有 NavigationContainer,但在第二次将链接道具添加到 NavigationContainer 时仍然打印控制台错误。
如有任何帮助或建议,我们将不胜感激!
通过将 linking.enabled 设置为 false,错误消失并且深度链接仍然有效。希望有帮助。
我的堆栈:
我正在调查以了解原因。