ОБНОВЛЕНИЕ: теперь с демоверсией закуски
Я создал демо на закуску , чтобы вы могли увидеть проблему из первых рук и помочь мне продемонстрировать решение в реальном коде.
Шаги для дублирования
- Запустить приложение
- Нажмите кнопку «Перейти к событиям»
- Нажмите на каждую вкладку, заметив, что eventId находится в области видимости для первых трех вкладок
- Нажмите вкладку «Еще»
- Нажмите «ЧЛЕНЫ КОМАНДЫ», заметив, что идентификатор события больше не находится в области видимости. Вот в чем проблема. Как мне передать eventId?
_____________________________
Мое приложение имеет следующую иерархию навигации, где каждый экземпляр <>
является просто обычным компонентом
App <StackNavigator> {
EventList <>
EventTabs <BottomTabNavigator> {
Quests <>
Leaderboard <>
Gallery <>
More <StackNavigator> {
MoreList <>
TeamMembers <>
}
}
}
После входа в приложение первый экран пользователя будет EventList
. Они нажимают кнопку, чтобы перейти к EventTabs
, поэтому я могу использовать navigation.navigate()
для перехода при прохождении состояния, например ...
EventList.navigation.navigate(EventTabs, passedParams);
На данный момент все имеет смысл. Но TeamMembers
также необходим доступ к passedParams
. Я запутался, как передать это. Отсюда мой вопрос ... как получить доступ к passedParams
из компонента TeamMembers
? Они, кажется, ограничены только до EventTabs
.
Если ответом будет использование navigate.setParams()
, то я не уверен, где бы я это сделал.
Если ответом будет использование NavigationActions.setParams()
, то я также не уверен, где бы я это сделал.