React Native Navigatoin. Запрет перехода назад по стеку
Проблема следующая. Сейчас переход с экрана авторизации на основное меню реализован таким образом -
<Stack.Navigator
screenOptions={{
headerShown: false
}}>
<Stack.Screen name='Login' component={LoginScreen} />
<Stack.Screen name='MainDrawerNavigator' component={MainDrawerNavigator} />
</Stack.Navigator>
Могу ли я каки-то образом запретить переход назад по стеку (из MainDrawerNavigator обратно в LoginScreen)? Или в данном случае нужна другая реализация навигации?
Ответы (1 шт):
Автор решения: maxkrasnov
→ Ссылка
Лучше все таки использовать подход, который рекомендую в самой документации https://reactnavigation.org/docs/auth-flow
А если исходить из текущего примера (все таки не советую так делать), то можно как-то так (добавил options для скрина):
<Stack.Navigator
screenOptions={{
headerShown: false
}}>
<Stack.Screen name='Login' component={LoginScreen} />
<Stack.Screen name='MainDrawerNavigator' options={{
headerLeft: ()=> null,
gesturesEnabled: false,
}} component={MainDrawerNavigator} />
</Stack.Navigator>
плюс, еще сам переход на этот скрин можно реализовать так:
navigation.reset({
index: 0,
routes: [{ name: 'MainDrawerNavigator' }],
});