gpt4 book ai didi

android - 将 URI 前缀传递给 createSwitchNavigator 函数以使用 react-navigation 进行深度链接

转载 作者:行者123 更新时间:2023-11-30 05:05:14 25 4
gpt4 key购买 nike

我有一个相当直接的 react-navigation 设置,它使用一个开关导航器,它接受一个参数 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 />
)

在 iOS 上,这与 uriPrefix 配合使用效果很好,我可以使用带有链接的 Linking.openURL() 链接到屏幕。

在 Android 上它不起作用。我可以在不使用 switchNavigator 且仅导出 LoginNav 和 AllNav 的情况下使其在 Android 上运行,但我仍然需要一个 switchNavigator。

我按照此处的说明操作:https://reactnavigation.org/docs/en/deep-linking.html ,但无法以他们定义的方式传递 uriPrefix。我发现至少对于 iOS,我能够在我的 switchNavigator 中定义它,但它在 Android 上对我来说效果不一样。

最佳答案

看起来这是 react-navigation 中的一个错误: https://github.com/react-navigation/react-navigation/issues/5027 https://github.com/react-navigation/react-navigation/issues/4913

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

关于android - 将 URI 前缀传递给 createSwitchNavigator 函数以使用 react-navigation 进行深度链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54676361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com