Я использую 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, я могу перейти к основному пакету приложений, но,
В самый первый раз в процессе входа в систему / регистрации, как предотвратить переход пользователя после успешного входа в систему / регистрации в реакции-навигации 5.x
Приложение. 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
находится в приложении. js, и я не использую приставку.
Итак, как я могу ее решить?