Есть 2 способа попасть на экран проигрывателя.
- Вы нажимаете на вкладку «Дополнительно», на которой есть ссылка «Команды», в которой отображаются все доступные команды.Затем вы нажимаете на команду, и вы попадаете в TeamStack.
В TeamStack по умолчанию используется Team Home, а затем множество других экранов, один из которых - Roster, в котором перечислены все игроки команды.Оттуда вы попадаете в PlayerStack, который переносит вас на домашний экран плеера.
Теперь, когда вы попадаете на экран плеера, вы можете провести пальцем, чтобы вернуться, что вернет вас оттуда, откуда вы пришли ...в реестр, затем команду Home, затем на страницу More.
Пока все хорошо!
Вы нажимаете на вкладку «Статистика», которая ссылается на StatsStack.На экране StatsStack по умолчанию перечислены игроки, лидирующие в таблице лидеров.Оттуда вы можете нажать на игрока.Оттуда вы можете нажать на команду игрока, которая приведет вас в TeamStack.Затем вы можете снова нажать «список».Если вы вернетесь оттуда, все работает правильно.Вернуться к команде домой, вернуться к игроку, вернуться к статистике.Все еще так хорошо!
Вот в чем проблема ...
Давайте вернемся на вкладку «Статистика», затем щелкните игрока, затем перейдем в команду, затем перейдемв реестр.Теперь, если вы нажмете на нового игрока, а затем вернетесь, он вернется прямо к экрану статистики, вместо того, чтобы вернуться в реестр, затем в командный дом, затем к первоначальному игроку, а затем к статистике.
Каким-то образом, поскольку PlayerStack уже открыт, когда вы переходите к Player изнутри списка команд в опции Route 2, он возвращает вас к изначально открытому PlayerStack вместо добавления нового экрана в стек.
Имеет ли это смысл?Как сделать так, чтобы при переходе по маршруту 2 к новому игроку, когда вы возвращаетесь, он возвращал вас обратно в правильной последовательности экранов?
const MainStackNavigator = createStackNavigator(
{
MainTabNavigator: MainTabNavigator,
Team: {
screen: TeamStack,
navigationOptions: ({ navigation }) => {
return {
header: null,
}
}
},
Player: {
screen: PlayerStack,
navigationOptions: ({ navigation }) => {
return {
header: null,
}
}
},
)
const MainTabNavigator = createBottomTabNavigator(
...
Stats: {
screen: StatsStack,
navigationOptions: {
tabBarIcon: ({ focused }) => {
return <Icon
name="ios-stats"
iconStyle={{}}
color={focused ? '#000' : '#ccc'}
size={28} />;
},
},
},
More: {
screen: MoreStack,
navigationOptions: {
tabBarIcon: ({ focused }) => {
return <Icon
name="ios-more"
iconStyle={{}}
color={focused ? '#000' : '#ccc'}
size={28} />;
},
},
},
)