Итак, у меня есть вложенные навигаторы
Main BottomTab.Navigator
- Profile Bottom Tab # 1 (Stack.Navigator)
- Profile Просмотр (Экран)
- Подписчики (Экран)
- Подписка (Top Tab.Navigator)
- Страницы (Экран)
- Группы (Экран)
- Feed Bottom Tab # 2 (Stack)
- Некоторые другие Bottom Tab # 3 (Stack)
Проблема заключается в том, что при переходе от экрана просмотра профиля к следующему навигатору я передаю некоторые параметры родительскому элементу после навигатора и хочу, чтобы все эти параметры были на дочерних вкладках Экраны (страницы / группы).
Но маршрут экранов дочерней вкладки не получает параметры, которые передаются в родительский навигатор (Follow Navigator)
Есть ли способ сделать это?
Вот мой код: Стек профиля
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) Разве это пока невозможно?