Моя проблема в том, что у меня есть стек профилей, который содержит все экраны, которые вы можете открыть из профиля вашего / пользователя. Я поместил этот стек в свой стек DrawerStack, а также в мой стек HomeScreen, потому что это два возможных способа навигации по нему. Но когда я перемещаюсь туда с некоторыми параметрами, он говорит, что параметры маршрута не определены.
Стек профиля
function ProfileNavigator() {
return (
<Stack.Navigator>
<Stack.Screen name="ProfileScreen" component={Profile} />
...Other Screens
</Stack.Navigator>
);
}
Домашний навигатор
function HomeNavigator() {
return (
<Stack.Navigator>
<Stack.Screen name="Home" options={{headerShown: false}} component={Home} />
<Stack.Screen name="Profile" options={{headerShown: false}} component={ProfileNavigator}/>
... Other Screens
</Stack.Navigator>
);
}
Навигатор ящика
<NavigationContainer>
<Drawer.Navigator
drawerContent={props => <CustomDrawerNavigator {...props} />}
initialRouteName="Home">
<Drawer.Screen name="Home" component={BottomNavigator} />
<Drawer.Screen
name="Profile"
options={{headerShown: false}}
component={ProfileNavigator}
/>
</Drawer.Navigator>
</NavigationContainer>
Перейдите в профиль
onPress={() => props.navigation.navigate('Profile', {current_user: true})}
Я могу передать параметры и перейти к Профиль Если я не использую стек, но мне нужно добавить каждый экран профиля в каждый другой стек, и я не думаю, что он эффективен. Я где-то читал, что подобные имена могут вызвать такую проблему, но я просто не мог обернуться вокруг этой проблемы.