有关 React Navigation 链接的控制台错误

问题描述 投票:0回答:1

我在 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 时仍然打印控制台错误。

如有任何帮助或建议,我们将不胜感激!

ios react-native deep-linking react-navigation-v6
1个回答
0
投票

通过将 linking.enabled 设置为 false,错误消失并且深度链接仍然有效。希望有帮助。

我的堆栈:

  • 反应原生0.72.7
  • 反应导航6.1.9

我正在调查以了解原因。

© www.soinside.com 2019 - 2024. All rights reserved.