在嵌套导航中移动到堆栈顶部(父屏幕)

时间:2021-01-23 00:11:58

标签: reactjs react-native android-studio react-navigation

我有多个 createStackNavigator 用于不同的屏幕,我在 createBottomTabNavigator 中使用它们,因此所有屏幕都可以从其他屏幕访问,问题是当我在 {{1} 中导航到主屏幕时}} 如果我打开任何其他屏幕,例如联系人屏幕 createBottomTabNavigator,然后如果我导航到 createStackNavigator 中的个人资料屏幕,然后如果我再次返回主屏幕,则不会看到在主屏幕上,我仍然可以看到联系人屏幕(因为它位于堆栈顶部)我必须再次单击主页才能将我带到那里。

这是因为我使用嵌套导航,我不太确定如何直接导航到主屏幕或 createBottomTabNavigator 中的任何其他屏幕,而不是 createBottomTabNavigator 中的任何屏幕。

这是我的意思的一个例子:

createStackNavigator

所以我转到主页组件,然后从那里转到配置文件屏幕,然后如果转到帮助屏幕,然后如果我在主页上单击返回,它将带我到配置文件屏幕而不是主屏幕,我如何确保这不会发生,因为它有点令人困惑。我在所有其他屏幕中都可以看到 const HomeStack = createStackNavigator(); const Home = () => { return ( <HomeStack.Navigator initialRouteName="Home" screenOptions={{ headerShown: false, }} > <HomeStack.Screen name="Home" component={HomeScreen} /> <HomeStack.Screen name="SearchScreen" component={SearchScreen} /> <HomeStack.Screen name="ContactScreen" component={ContactScreen} /> <HomeStack.Screen name="FavoriteScreen" component={FavoriteScreen} /> </HomeStack.Navigator> ); }; const HelpStack = createStackNavigator(); const Help = () => { return ( <HelpStack.Navigator initialRouteName="Help" screenOptions={{ headerShown: false, }} > <HelpStack.Screen name="SearchScreen" component={SearchScreen} /> <HelpStack.Screen name="ContactScreen" component={ContactScreen} /> <HelpStack.Screen name="FavoriteScreen" component={FavoriteScreen} /> </HelpStack.Navigator> ); }; const ProfileStack = createStackNavigator(); const Profile = () => { return ( <ProfileStack.Navigator initialRouteName="CreateProfile" screenOptions={{ headerShown: false, }} > <ProfileStack.Screen name="SearchScreen" component={SearchScreen} /> <ProfileStack.Screen name="ContactScreen" component={ContactScreen} /> <ProfileStack.Screen name="FavoriteScreen" component={FavoriteScreen} /> </ProfileStack.Navigator> ); }; const Tab = createBottomTabNavigator(); const MainTabs = () => ( <Tab.Navigator initialRouteName="Home" > <Tab.Screen name="Home" component={Home} /> <Tab.Screen name="Help" component={Help} /> <Tab.Screen name="Profile " component={Profile} /> </Tab.Navigator> ); 选项卡,所以这就是我需要直接移动到根屏幕的原因。

0 个答案:

没有答案