Я впервые работаю с React-Native-Navigation v2, моделируя простое приложение с 3 вкладками внизу и боковой панелью с кнопкой, которая будет переходить на четвертый экран при нажатии, имитирующем «выход из системы». Эта четвертая вкладка будет иметь кнопку, которая имитирует «вход», возвращаясь к первому экрану, который является частью стека bottomTabs.
Код у меня работает, но только один раз. После того, как я вышел из системы (поместив новый экран в стек), я могу снова войти в систему (извлечь этот экран обратно из стека). Однако, когда я снова пытаюсь выйти из системы, я не могу этого сделать. Функциональность для отправки в стек, похоже, больше не работает.
handleLogOutPress = () => {
Navigation.push('CenterStack', {
component: {
name: 'navigationApp.FourthTabScreen',
passProps: {
text: 'Logged Out'
},
options: {
topBar: {
visible: false
}
}
}
})
Navigation.mergeOptions('CenterStack', {
sideMenu: {
left: {
visible: false
}
}
})
}
function handleLoginPress(){
Navigation.pop('CenterStack')
}
Вот как изначально настроен мой стек:
Navigation.setRoot({
root: {
sideMenu: {
left: {
component: {
id: 'SideMenu',
name: 'navigationApp.SideMenu'
}
},
center: {
stack: {
id: 'CenterStack',
children: [
{
bottomTabs: {
children: [
{
component: {
id: 'FirstTab',
name: 'navigationApp.FirstTabScreen',
passProps: {
text: 'Home',
id: 'FirstTab'
},
options: {
bottomTab: {
icon: images[0],
text: 'Home',
iconColor: 'darkblue',
selectedIconColor: 'lightblue'
},
topBar: {
visible: false
}
}
},
},
{
component: {
id: 'SecondTab',
name: 'navigationApp.SecondTabScreen',
passProps: {
text: 'Search',
id: 'SecondTab'
},
options: {
bottomTab: {
icon: images[1],
text: 'Search',
iconColor: 'darkblue',
selectedIconColor: 'lightblue'
},
topBar: {
visible: false
}
}
},
},
{
component: {
id: 'ThirdTab',
name: 'navigationApp.ThirdTabScreen',
passProps: {
text: 'Share',
id: 'ThirdTab'
},
options: {
bottomTab: {
icon: images[2],
text: 'Share',
iconColor: 'darkblue',
selectedIconColor: 'lightblue'
},
topBar: {
visible: false
}
}
}
},
],
}
}
],
},
}
}
}
})
Я могу совершенно неправильно понять, как работает push/pop, любая помощь и руководство приветствуются.