Reading time: < 1 minutes
If you want to add a Top Tab Navigation using React Native to achieve the result shown in this image:

First, you need to install the necessary dependency (remember to install React Navigation first):
npm install npm install @react-navigation/material-top-tabs react-native-tab-view --save
Once installed, it is used in the same way as a Bottom Tab Navigation:
// Import the libraries
import { NavigationContainer } from '@react-navigation/native';
import { createMaterialTopTabNavigator } from '@react-navigation/material-top-tabs';
Now create the instance for the Tabs:
const Tab = createMaterialTopTabNavigator();
Next, add the navigation tree and the NavigationContainer where each Screen will be displayed (remember to import the screens you want to use and add them inside the component={} variable):
<NavigationContainer>
<Tab.Navigator initialRouteName="Videos">
<Tab.Screen name="Videos" component={VideoList} options={{ headerShown: false }} />
<Tab.Screen name="Forum" component={ForumList} options={{ headerShown: false }} />
<Tab.Screen name="Quiz" component={Quiz} options={{ headerShown: false }} />
</Tab.Navigator>
</NavigationContainer>
The complete code will look like this:
// Import the libraries
import { NavigationContainer } from '@react-navigation/native';
import { createMaterialTopTabNavigator } from '@react-navigation/material-top-tabs';
const Tab = createMaterialTopTabNavigator();
// Import the screens
import VideoList from '../screens/VideoList';
import ForumList from '../screens/ForumList';
import Quiz from '../screens/Quiz';
// Navigation component
const Navigation = () => {
return (
<View>
<NavigationContainer>
<Tab.Navigator initialRouteName="Videos">
<Tab.Screen name="Videos" component={VideoList} options={{ headerShown: false }} />
<Tab.Screen name="Forum" component={ForumList} options={{ headerShown: false }} />
<Tab.Screen name="Quiz" component={Quiz} options={{ headerShown: false }} />
</Tab.Navigator>
</NavigationContainer>
</View>
);
};
Reading time: < 1 minutes
If you want to add a Top Tab Navigation using React Native to achieve the result shown in this image:

First, you need to install the necessary dependency (remember to install React Navigation first):
npm install npm install @react-navigation/material-top-tabs react-native-tab-view --save
Once installed, it is used in the same way as a Bottom Tab Navigation:
// Import the libraries
import { NavigationContainer } from '@react-navigation/native';
import { createMaterialTopTabNavigator } from '@react-navigation/material-top-tabs';
Now create the instance for the Tabs:
const Tab = createMaterialTopTabNavigator();
Next, add the navigation tree and the NavigationContainer where each Screen will be displayed (remember to import the screens you want to use and add them inside the component={} variable):
<NavigationContainer>
<Tab.Navigator initialRouteName="Videos">
<Tab.Screen name="Videos" component={VideoList} options={{ headerShown: false }} />
<Tab.Screen name="Forum" component={ForumList} options={{ headerShown: false }} />
<Tab.Screen name="Quiz" component={Quiz} options={{ headerShown: false }} />
</Tab.Navigator>
</NavigationContainer>
The complete code will look like this:
// Import the libraries
import { NavigationContainer } from '@react-navigation/native';
import { createMaterialTopTabNavigator } from '@react-navigation/material-top-tabs';
const Tab = createMaterialTopTabNavigator();
// Import the screens
import VideoList from '../screens/VideoList';
import ForumList from '../screens/ForumList';
import Quiz from '../screens/Quiz';
// Navigation component
const Navigation = () => {
return (
<View>
<NavigationContainer>
<Tab.Navigator initialRouteName="Videos">
<Tab.Screen name="Videos" component={VideoList} options={{ headerShown: false }} />
<Tab.Screen name="Forum" component={ForumList} options={{ headerShown: false }} />
<Tab.Screen name="Quiz" component={Quiz} options={{ headerShown: false }} />
</Tab.Navigator>
</NavigationContainer>
</View>
);
};
