【发布时间】:2020-01-30 12:06:52
【问题描述】:
我有一个使用createBottomTabNavigator 创建的底部标签栏,当用户按下其中一个标签时,我需要导航到特定堆栈(使用createStackNavigator 创建)。我已经可以这样做了,但现在我需要根据条件决定首先进入该堆栈中的哪个屏幕。我知道可以设置 initialRouteName 属性以确保始终首先显示特定屏幕,所以也许我可以使用它?
基本上我希望用户在第一次按下选项卡时查看教程,然后从第二次开始查看实际屏幕。
这是我目前拥有的(不工作):
const shouldGoToTutorial = async () => {
await AsyncStorage.getItem('hasSeenTutorial').then((hasSeenTutorial) => {
return hasSeenTutorial ? 'Screen1' : 'Tutorial';
});
}
const OtherStack = createStackNavigator({
Tutorial: TutorialScreen,
Other: OtherScreen
}, {
initialRouteName: shouldGoToTutorial
});
【问题讨论】:
标签: react-native react-navigation react-navigation-stack react-navigation-bottom-tab