Итак, у меня есть вложенные навигаторы
Главная Нижняя Вкладка Навигатор
- Profile Bottom Tab # 1 (Stack.Navigator)
- Profile View (Screen)
- Последователи (экран)
- Following (Top Tab.Navigator)
- Pages (Screen)
- Группы (экран)
- Фид нижняя вкладка №2 (стопка)
- Некоторые другие нижняя вкладка №3 (стопка)
Проблема заключается в том, что когда я перехожу с экрана просмотра профиля к следующему навигатору, я передаю некоторые параметры родительскому элементу Follow Navigator, и мне нужны все эти параметры на дочерних вкладках Screens (Pages / Groups).
Но маршрут дочерних экранов вкладок не получает параметры, которые передаются родительскому навигатору (следующий навигатор вкладок)
Есть ли способ сделать это?
Вот мой код: Стек профилей
const ProfileStack = () => (
<Stack.Navigator
initialRouteName='profileView'
>
<Stack.Screen
name='profileView'
component={ProfileScreen}
options={{
headerMode: 'screen',
headerShown: false,
}}
/>
<Stack.Screen
name='followers'
component={FollowersScreen}
options={{
headerTitle: 'Followers',
}}
/>
<Stack.Screen
name='following'
component={FollowingTabs}
options={{
headerTitle: 'Following',
}}
/>
</Stack.Navigator>
FollowTabs
const Tabs = createMaterialTopTabNavigator();
export const FollowingTabs = () => (
<Tabs.Navigator
initialRouteName='page'
lazy
swipeEnabled
>
<Tabs.Screen
component={PageScreen}
name='page'
options={{ tabBarLabel: '2 Pages' }}
/>
<Tabs.Screen
component={GroupScreen}
name='groups'
options={{ tabBarLabel: '3 Groups' }}
/>
</Tabs.Navigator>
);
Из экрана просмотра профиля я пытаюсь перейти к следующему экрану вкладок, и мне нужно передать некоторые параметры следующим образом.
const onPressHandler = () => {
navigation.navigate('following', **{ isPublicProfile, firstName }**); // These parameters are passed to route of the following Tabs Navigator
};
И когда я пытаюсь прочитать эти параметры на дочерних вкладках (Страницы / Группы), они не определены.
const PageScreen = ({ route }) => {
const { isPublicProfile, firstName } = route.params; // undefined?? Cant read parent's params
...
Любая помощь будет оценена по достоинству.
Изменить: я нашел эту открытую проблему на github (https://github.com/react-navigation/rfcs/issues/43) Это еще не возможно?