Я новичок, чтобы реагировать на родной язык, и я не видел, чтобы этот вопрос кто-то задавал, или не нашел способа обойти это.
Использование React Navigation 5 с expo.
В настоящее время у меня есть следующая структура приложения: Навигатор стека внутри навигатора ящика.
Example of page structure:
Drawer Navigator ( links ):
Home (RouteStack)
Screen 1
Screen 2
Screen 3
RouteStack( screens) :
Home ( initial route )
Screen 1
Screen 2
Screen 4
Как я могу получить ссылку Screen 1 / Screen 2 в навигаторе ящика для загрузки RouteStack: Screen 1 / Screen 2? Эти ссылки позволяют легко перейти к нужному экрану.
Нужны рекомендации о том, как этого добиться.
Я подумал о возможности наличия ящика внутри стека, но внутри ящика есть экраны, которые могут не быть указаны в стеке. Следовательно, пошел со стеком внутри ящика.
Я также попытался сделать navigation.navigate (route.name) внутри RouteStack
Пример кода: Навигатор ящика:
<NavigationContainer>
<Drawer.Navigator drawerContent={(props, navigation) => <CustomDrawerContent {...props} {...navigation} />}>
<Drawer.Screen name="Home" component={RouteStack} />
<Drawer.Screen name="MyItems" component={RouteStack} />
<Drawer.Screen name="ContactRep" component={RouteStack} />
<Drawer.Screen name="Settings" component={SettingInfo} />
</Drawer.Navigator>
</NavigationContainer>
Навигатор стека (RouteStack) выглядит так:
<Stack.Navigator
initialRouteName="Home"
screenOptions={{ gestureEnabled: false, headerTitleAlign: 'auto' }}
// headerMode="float"
>
<Stack.Screen
name="Home"
component={HomeScreen}
options={{
title: '',
headerStyle: {
backgroundColor: '#fff',
},
headerTintColor: '#000',
headerTitleStyle: {
fontWeight: 'bold'
},
headerLeft: props => <HeaderLeftMenu {...props} />,
headerRight: props => <HeaderRightMenu {...props} />,
headerTitle: props => <HeaderTitle {...props} />
}}
/>
<Stack.Screen
name="ContactRep"
component={ContactRep}
options={{ headerTitle: props => <HeaderTitle {...props} /> }}
/>
<Stack.Screen
name="MyItems"
component={MyItems}
options={{ headerTitle: (props, navigation) => <HeaderTitle {...props} /> }}
/>
</Stack.Navigator>
Заранее благодарим за помощь.