У меня есть три простых экрана: Вход в систему, Панель управления и О .
Я хочу создать меню «Ящик», в котором можно перемещаться между экранами.Если я не вошел в систему, я хочу, чтобы у меня был экран входа в систему, который выводит меня на панель инструментов, где у меня есть ящик.Там я могу нажать кнопку «Выйти», и это возвращает меня к экрану входа в систему.Если я уже вошел в систему, я хочу, чтобы на первом экране была панель инструментов с выдвижным ящиком.Кроме того, если я нажимаю «Выйти», чтобы перейти к «Входу в систему».
Проблема заключается в следующем: после того, как я нажму кнопку выхода из системы и вернусь к экрану входа в систему.Я больше не могу войти (приборная панель все еще в стеке, потому что, если я нажму кнопку «Назад», она попадет туда).И ящик появляется на экране входа в систему также
const RootStackLogin = createStackNavigator(
{
Login: {
screen: Login,
},
Dashboard: {
screen: Dashboard,
},
App: {
screen: App,
navigationOptions: ({navigation}) => ({
header:null
})
}
},
{
initialRouteName: 'Login',
}
const RootStackDashboard = createStackNavigator(
{
Login: Login,
App: {
screen: App,
navigationOptions: ({navigation}) => ({
header:null
})
}
},
{
initialRouteName: 'App',
}
Вот как выглядит метод рендеринга из моего класса Splash:
if (this.state.isAuth) {
return (
<RootStackDashboard/>
)
}
return (
<RootStackLogin/>
)
А это мой ящик:
const AppDrawerNavigator = createDrawerNavigator({
Dashboard: {
screen: Dashboard,
},
Login: {
screen: Login,
},
About: {
screen: About,
},
},
{
contentComponent: CustomContentComponent
})