Android 将URI前缀传递给createSwitchNavigator函数,以便与react导航进行深度链接

Android 将URI前缀传递给createSwitchNavigator函数,以便与react导航进行深度链接,android,react-native,react-navigation,Android,React Native,React Navigation,我有一个相当直接的react导航设置,它利用一个开关导航器,它接受一个参数signedIn来设置初始路线,如下所示: const uriPrefix = Platform.OS === 'android' ? 'myApp://myApp/' : 'myApp://' const createRootNavigator = (signedIn = false) => ( createSwitchNavigator({ LoginNav, AllNa

我有一个相当直接的react导航设置,它利用一个开关导航器,它接受一个参数signedIn来设置初始路线,如下所示:

const uriPrefix =
  Platform.OS === 'android'
    ? 'myApp://myApp/'
    : 'myApp://'

const createRootNavigator = (signedIn = false) => (
  createSwitchNavigator({
    LoginNav,
    AllNav: { screen: AllNav, uriPrefix, path: '' }
  }, {
    initialRouteName: signedIn ? 'AllNav' : 'LoginNav',
  })
);
然后我在RootContainer中将其称为:

 const Nav = Navigation(isLoggedIn);
 return (
    <Nav />
  )
const Nav=导航(isLoggedIn);
返回(
)
在iOS上,这与uriPrefix配合得很好,我可以使用带有链接的
Linking.openURL()
链接到屏幕

在Android上,它不起作用。我不需要使用switchNavigator,只需要导出LoginNav和AllNav,就可以在Android上运行,但我仍然需要一个switchNavigator


我按照此处的说明进行操作:,但无法按照它们定义的方式传递URI前缀。我发现,至少在iOS上,我可以在switchNavigator中定义它,但在Android上它的工作原理与此不同。

看起来这是react导航中的一个错误:


这里有一些解决方法可能会有所帮助,我最终将所有导航更改为堆栈导航以支持深度链接=(

看起来这是react导航中的一个错误:

有一些解决方法可能会有所帮助,我最终将所有导航更改为堆栈导航以支持深度链接=(