在主屏幕上,有两个链接可导航到“屏幕A”和“屏幕B”。React导航代码如下。在Android中,用户从主屏幕->屏幕A导航,然后通过应用中的后退按钮(navigation.goBack())导航到主屏幕。**问题:**现在用户从主页->屏幕B导航。现在从屏幕B,当按下移动的的返回按钮时,用户被重定向到屏幕A,并且再次当按下移动设备的返回按钮时,用户被重定向到主页。正确的导航应该是屏幕B ->主页。
<NavigationContainer>
<Drawer.Navigator
initialRouteName="Home"
drawerContent={(props) => (
<CustomDrawerContent drawerItems={drawerItemsMain} {...props} />
)}
>
{drawerItemsMain.map((item) =>
item.routes.map((route) => (
<Drawer.Screen
key={route.routeName}
name={route.routeName}
component={route.component}
/>
))
)}
<Drawer.Screen name="StackScreens" component={StackScreensNavigator} />
</Drawer.Navigator>
</NavigationContainer>;
const StackScreensNavigator = createStackNavigator();
const Drawer = createDrawerNavigator();
function StackScreensNavigator() {
return (
<StackScreensNavigator.Navigator screenOptions={{ headerShown: false }}>
<StackScreensNavigator.Screen name="ScreenA" component={ScreenA} />
<StackScreensNavigator.Screen name="ScreenB" component={ScreenB} />
</StackScreensNavigator.Navigator>
);
}
字符串
1条答案
按热度按时间wd2eg0qa1#
这里的问题是你用
StackScreensNavigator
来命名StackNavigator
和Drawer.Screen
的组件。您应该更改其中一个名称:字符串