Как я добился этого, создав 2 стека и интегрировав их в основной навигатор стека, я использовал нижнюю вкладку и то же самое с вашим боковым ящиком.
Сначала я создал другой стек BottomTab:
const BottomTab = () => {
return (
<Tab.Navigator
tabBarOptions={{
activeTintColor: '#fff',
activeBackgroundColor: '#c47808',
inactiveBackgroundColor: '#ffbd5c',
inactiveTintColor: '#c47808',
style: {
height: Platform.OS == 'ios' ? hp('10.35%') : hp('8.35%'),
},
labelStyle: {
marginBottom: Platform.OS == 'ios' ? 8 : 2,
},
}}
screenOptions={({route}) => ({
tabBarIcon: ({focused, color, size}) => {
return getTabBarIcon(route, focused);
},
})}>
<Tab.Screen name="Home" component={Home} />
<Tab.Screen name="Meetings" component={Meeting} />
<Tab.Screen name="My Profile" component={Profile} />
<Tab.Screen name="Settings" component={Settings} />
</Tab.Navigator>
);
};
И затем я интегрировал его в навигатор основного стека как
<NavigationContainer linking={deepLinking}>
<Stack.Navigator
initialRouteName="Login"
screenOptions={{
headerShown: false,
gestureEnabled: false,
}}>
<Stack.Screen name="Login" component={LoginScreen} />
<Stack.Screen name="SignupEmail" component={SignupEmail} />
<Stack.Screen name="BottomTab" component={BottomTab} />
</Stack.Navigator>
</NavigationContainer>
И вы можете видеть здесь, внутри он импортирован как нижняя вкладка, а теперь из нижней вкладки, если вы do navigation.navigate ("login") он переходит на эту страницу, и кнопка "Назад" закроет приложение, так как это была моя стартовая страница.
Точно так же вы также можете удалить всю историю навигации, просто проверяя с помощью данный маршрут:
import { CommonActions } from '@react-navigation/native';
navigation.dispatch(
CommonActions.reset({
index: 1,
routes: [
{ name: 'Home' },
{
name: 'Profile',
params: { user: 'jane' },
},
],
})
);
Вы проверяете do c выше в rn-reset ..
Надеюсь, это поможет. не стесняйтесь сомневаться