Tab.Navigator
Tab1-Stack.Navigator (SettingStack)
-SettingsScreen
-ProfileScreen
Tab2-Stack.Navigator (HomeStack)
-HomeScreen
-DetailsScreen我们从HomeScreen开始并导航到DetailsScreen。然后,我们使用选项卡栏切换到SettingsScreen并导航到ProfileScreen。执行此操作后,如果使用选项卡栏切换回HomeStack,则会打开DetailsScreen - HomeStack的导航状态已保留
但是我想如果一个用户切换标签,那么堆栈的初始屏幕应该是打开的,而不是最后打开的屏幕,如何实现呢?
function App() {
return (
<NavigationContainer>
<Tab.Navigator>
<Tab.Screen name="First">
{() => (
<SettingsStack.Navigator>
<SettingsStack.Screen
name="Settings"
component={SettingsScreen}
/>
<SettingsStack.Screen name="Profile" component={ProfileScreen} />
</SettingsStack.Navigator>
)}
</Tab.Screen>
<Tab.Screen name="Second">
{() => (
<HomeStack.Navigator>
<HomeStack.Screen name="Home" component={HomeScreen} />
<HomeStack.Screen name="Details" component={DetailsScreen} />
</HomeStack.Navigator>
)}
</Tab.Screen>
</Tab.Navigator>
</NavigationContainer>
);
}发布于 2020-12-11 10:28:59
您应该为屏幕名称'Second‘实现选项卡项触摸,并使导航弹出到根视图。
https://stackoverflow.com/questions/65243183
复制相似问题