У меня есть bottomTabNavigator, который имеет 5 экранов, все из которых связаны с собственным стеком.5-й стек - это «больше».Когда я нахожусь на странице в стеке «more», я хочу иметь возможность щелкнуть обратно на одну из других вкладок и очистить стек, чтобы при возврате к «more» он начинался с вершины стека, а непоследняя посещенная страница.
Я пробовал несколько решений, найденных в переполнении стека, но ни одно из них не сработало.Пара, кажется, из устаревшей версии реагировать навигации.
Есть ли способ, которым я могу это сделать?
Я пробовал это ...
const MainTabNavigator = createBottomTabNavigator({
Home: {
screen: HomeStack,
},
... other screens ...
More: {
screen: MoreStack,
navigationOptions: {
tabBarOnPress: ({navigation}) => {
if (!navigation.isFocused) {
navigation.dispatch(resetAction)
}
}
},
}
... но это не работает для меня.Мое resetAction выглядит следующим образом ...
const resetAction = StackActions.reset({
index: 0,
actions: [NavigationActions.navigate({ routeName: 'MainTabNavigator' })],
})
Я пробовал другие способы сброса действия из ответов на переполнение стека, но ни один из них не сработал.