我有一个类似的抽屉导航
const DrawerNavigatorRoutes = (props) => {
return (
<Drawer.Navigator>
<Drawer.Screen
name="homeScreenStack"
component={homeScreenStack}
/>
<Drawer.Screen
name="Profile"
component={profileScreenStack}
/>
</Drawer.Navigator>
);
};
当我点击homeScreenStack
时,堆栈导航就像一样
const homeScreenStack = ({ navigation }) => {
return (
<Stack.Navigator initialRouteName="Dashboard">
<Stack.Screen
name="Dashboard"
component={Dashboard}
/>
<Stack.Screen
name="screen2"
component={screen2}
/>
....
</Stack.Navigator>
);
};
我在homeScreenStack
中也有一些选项卡导航,所以我希望当我从抽屉导航中点击homeScreenStack
时,Dashboard
屏幕将打开,但在当前场景中,它没有重置堆栈。我正在使用react navigation 5
如果我读对了你的问题,你应该能够使用unmountOnBlur,并在抽屉导航器上将其设置为true来重置堆栈。然后,当您导航回抽屉导航器时,它将重置堆栈导航器。所以你的代码看起来像:
const DrawerNavigatorRoutes = (props) => {
return (
<Drawer.Navigator
unmountOnBlur: true,
>
<Drawer.Screen
name="homeScreenStack"
component={homeScreenStack}
/>
<Drawer.Screen
name="Profile"
component={profileScreenStack}
/>
</Drawer.Navigator>
);
};