Из документации React navigation 5
Самый простой способ добиться этого - вложить навигатор вкладок внутри первого экрана стека вместо того, чтобы вкладывать стек внутри навигатора вкладок
Это пример из документации:
function HomeTabs() {
return (
<Tab.Navigator>
<Tab.Screen name="Home" component={Home} />
<Tab.Screen name="Feed" component={Feed} />
<Tab.Screen name="Notifications" component={Notifications} />
</Tab.Navigator>
);
}
function App() {
return (
<Stack.Navigator>
<Stack.Screen name="Home" component={HomeTabs} />
<Stack.Screen name="Profile" component={Profile} />
<Stack.Screen name="Settings" component={Settings} />
</Stack.Navigator>
);
}
Что в вашем случае переведет на размещение всего экрана, на котором вы хотите отобразить панель вкладок, в TabStack:
const TabStack = () => {
return (
<Tab.Navigator>
<Tab.Screen name="Page1" component={page1} />
<Tab.Screen name="Page2" component={page2} />
</Tab.Navigator>
);
}
и все остальные экраны и навигатор вкладок в навигаторе стека
const App = () => {
return (
<NavigationContainer>
<Stack.Navigator initialRouteName="Login" headerMode="none">
<Stack.Screen name="Page1" component={TabStack}
<Stack.Screen name="Login" component={login} />
<Stack.Screen name="Main" component={main} />
<Stack.Screen name="page3" component={page3} />
<Stack.Screen name="page4" component={page4} />
<Stack.Screen name="page5" component={page5} />
</Stack.Navigator>
</NavigationContainer>
);
}