В настоящее время у меня есть эта схема навигации:
BottomTabNavigator
export const HomePageBottomNavigator = createBottomTabNavigator(
{
CardListStack: {
screen: CardListStack,
navigationOptions: () => ({
title: 'My Cards'
})
},
ClassListStack: {
screen: ClassListStack,
navigationOptions: () => ({
title: 'My classes'
})
}
})
CardListStack
export const CardListStack = createStackNavigator(
{
CardListPage: {
screen: CardListPage
},
CardPage: {
screen: CardPage,
headerMode: 'none'
}
},
{
headerMode: 'none',
navigationOptions: {
headerVisible: false
},
initialRouteName: 'CardListPage'
});
ClassListStack
export const ClassListStack = createStackNavigator(
{
ClassesListPage: {
screen: ClassesListPage
},
ClassPage: {
screen: ClassPage,
headerMode: 'none'
},
CardPage: {
screen: CardPage,
headerMode: 'none'
}
},
{
headerMode: 'none',
navigationOptions: {
headerVisible: false
},
initialRouteName: 'ClassesListPage',
});
Так что, в основном, у меня есть две вкладки: первая - все о картах, вы можете просмотреть список своих карт и щелкнуть, чтобы увидеть детали конкретной карты. Во втором вы можете найти свои классы, увидеть один конкретный класс и щелкнуть, чтобы увидеть карты, которые у него есть.
Проблема, с которой я сталкиваюсь, заключается в том, что, когда я нахожусь в CardListStack и выполняю следующие действия: Откройте карту, перейдите к ClassListStack, затем вернитесь к CardListStack ... Карта все еще открыта. То же самое происходит, когда я открываю детали класса, меняю стек и затем возвращаюсь. Можно ли как-то «сбросить» стек, когда я вернусь к нему?