То, как вы написали, не сработает, потому что учтите следующее: у вас 2 ящика, один из которых имеет начальный маршрут как «Домой», а другой как «Пустой». Какой из них должен быть отрендерен?
Здесь вам нужно следовать тому же подходу, что и в React Navigation 4, поместить один ящик в другой:
function HomeStack() {
return (
<Stack.Navigator screenOptions={{ animationEnabled: false }}>
<Stack.Screen name="Home" component={HomeScreen} />
<Stack.Screen name="Menu" component={MenuScreen} />
<Stack.Screen name="Favorit" component={FavoritScreen} />
</Stack.Navigator>
)
}
function RightDrawer() {
return (
<DrawerR.Navigator initialRouteName="Home" drawerPosition="right">
<DrawerR.Screen name="Home" component={HomeStack} />
<DrawerR.Screen name="Menu" component={MenuScreen} />
<DrawerR.Screen name="Favorit" component={FavoritScreen} />
</DrawerR.Navigator>
)
}
function LeftDrawer() {
return (
<DrawerL.Navigator initialRouteName="RightDrawer" drawerPosition="left">
<DrawerL.Screen name="RightDrawer" component={RightDrawer} />
</DrawerL.Navigator>
);
}
function App() {
return (
<NavigationNativeContainer>
<LeftDrawer />
</NavigationNativeContainer>
)
}
Поскольку ваш левый ящик не будет отображать экраны, которые у вас есть в стеке, вам потребуется предоставить пользовательский компонент для вашего ящика, в котором перечислены экраны: https://reactnavigation.org/docs/en/next/drawer-navigator.html#providing -a-custom-boxcontent *