Я использую React Navigation 5
Моя структура такая:
ROOT (STACK)
|-- LoginStack (STACK)
| |-- Login (SCREEN) -> when successful navigate to "Mainapp_stack"
| +-- Register (SCREEN) -> after registration, navigate to "Mainapp_stack"
|
+-- Mainapp_stack (STACK)
|-- Dashboard (SCREEN)
|-- MyProfile (SCREEN)
Это нормально, проверив usertoken, и я могу перейти к основному стеку приложений, но,
В самый первый раз в процессе входа в систему / регистрации, как предотвратить переход пользователя назад после успешного входа в систему / регистрации в react-navigation 5.x
App.js
<NavigationContainer>
<Stack.Navigator>
{this.state.token_available ?
<Stack.Screen
name="Mainapp_stack"
component={Mainapp_stack}
options={{headerShown: false}}
/>
:
<>
<Stack.Screen
name="TeacherLogin"
component={TeacherLogin}
/>
<Stack.Screen
name="Info"
component={Info}
/>
<Stack.Screen
name="Mainapp_stack"
component={Mainapp_stack}
/>
</>
}
</Stack.Navigator>
</NavigationContainer>
Mainapp_stack.js
<Stack.Navigator initialRouteName='Dashboard'>
<Stack.Screen
name="Dashboard"
component={Dashboard}
// options={{headerShown: true}}
/>
</Stack.Navigator>
Теперь, когда я завершаю вход в систему / Регистрация, я не хочу возвращаться назад, если я нажму аппаратную кнопку возврата. Моя переменная token_available
находится в App.js, и я не использую redux.
Итак, как я могу это решить?