我有2个堆栈,一个用于用户,一个用于来宾,它们具有一些共同的屏幕。如果用户已登录/已认证,我想将其定向到TabsPage,用户可以在其中找到配置文件的按钮以及类似的登录用户特定功能。
如果用户决定不登录就浏览该应用程序,我会将他重定向到TabsScreen中的屏幕之一,而不会在底部显示选项卡,因为它保留了已登录用户的特定功能。我正在通过使用
this.props.navigation.navigate('Screen A')
我的导航堆栈类似于以下内容:
const user = createStackNavigator({
Tabs: TabsScreen // contains Screen A (common screen) , Screen B (logged in access only), Screen C (logged in access only)
Screen1 : Screen1, //from here on these are screens that we navigate to from Screen A
Screen2 :Screen2
.....
})
const guest = createStackNavigator({
Screen1 : Screen1 (common with user stack),
Screen2 : Screen 2 (common with user stack),
})
当我处于访客模式时,从屏幕A导航到屏幕1,然后尝试使用this.props.navigation.goBack()
返回,我将进入“标签”页面,在此我想要实现的目标是回到没有选项卡栏的屏幕A,因为来宾不能访问它。
我该如何实现?我正在使用react-native-navigation的版本4 谢谢
答案 0 :(得分:0)
似乎我没有在两个堆栈中正确地包含我的普通屏幕,一旦包含所有屏幕,似乎一切正常!