从抽屉导航移动时重置堆栈导航



我有一个类似的抽屉导航

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>
);
};

最新更新