Search code examples
reactjsreact-nativereact-navigation-v5

React Navigator 5; Tab Navigator and Stack Navigator


I am very new to React/React Native...

I am working with React Navigator 5. I have Tab Navigation on Home Screen and I want to create Stack Navigation (with new screens outside Tab Navigation container) for two "tabs" in the Tab Navigation structure.
Is this what's termed "nested navigation"?

Thanks


Solution

  • Create Root Stack container and tab Container. If you want to show tabs in stack container give component as tab Container.

    E.g. :

    import React from "react";
    
    import { createBottomTabNavigator } from "@react-navigation/bottom-tabs";
    import { NavigationContainer } from "@react-navigation/native";
    import { createStackNavigator } from "@react-navigation/stack";
    
    const Tab = createBottomTabNavigator();
    const Stack = createStackNavigator();
    
    const MyTabs = () => {
      const Navigation = () => (
        <NavigationContainer>
          <Stack.Navigator>
            <Stack.Screen name="Login" component={Login} />
            <Stack.Screen name="Home" component={BottomNav} />
            <Stack.Screen name="Profile" component={Profile} />
          </Stack.Navigator>
        </NavigationContainer>
      );
      
      const BottomNav = () => (
        <Tab.Navigator>
          <Tab.Screen name="Streams" component={Streams} />
          <Tab.Screen name="Tweets" component={Tweets} />
          <Tab.Screen name="Reported" component={Reported} />
          <Tab.Screen name="Leaderboard" component={Leaderboard} />
        </Tab.Navigator>
      );
    
      return <Navigation />
    }
    
    
    export default MyTabs;