Logo
Navigation
NavigationTab Navigation

Tab Navigation

Introduction to tab navigation, a common navigation pattern that allows users to switch between different views or functionalities.

What is Tab Navigation?

Tab navigation is a popular navigation pattern used in mobile applications to provide quick access to different sections of an app. Tabs are generally placed at the bottom of the screen (iOS) or at the top (Android), allowing users to switch between multiple views or functionalities easily.

Installation

To implement tab navigation in a React Native project, you'll typically use a library like React Navigation. First, you need to install the necessary packages:

npm install @react-navigation/native @react-navigation/bottom-tabs

or

yarn add @react-navigation/native @react-navigation/bottom-tabs

Basic Usage

Overview

Creating a tab navigator involves defining multiple screens and associating them with tabs.

Example

Here's a simple example to demonstrate tab navigation:

import React from 'react';
import { NavigationContainer } from '@react-navigation/native';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
 
const Tab = createBottomTabNavigator();
 
const HomeScreen = () => <Text>Home Screen</Text>;
const SettingsScreen = () => <Text>Settings Screen</Text>;
 
const App = () => {
  return (
    <NavigationContainer>
      <Tab.Navigator>
        <Tab.Screen name="Home" component={HomeScreen} />
        <Tab.Screen name="Settings" component={SettingsScreen} />
      </Tab.Navigator>
    </NavigationContainer>
  );
};
 
export default App;

Customizing Tabs

Overview

React Navigation provides various options for customizing the appearance and behavior of your tab navigator.

Example

Here's an example where we customize the tab icons:

<Tab.Navigator
  screenOptions={({ route }) => ({
    tabBarIcon: ({ focused, color, size }) => {
      let iconName;
 
      if (route.name === 'Home') {
        iconName = focused ? 'home' : 'home-outline';
      } else if (route.name === 'Settings') {
        iconName = focused ? 'settings' : 'settings-outline';
      }
 
      return <Icon name={iconName} size={size} color={color} />;
    },
  })}
  tabBarOptions={{
    activeTintColor: 'tomato',
    inactiveTintColor: 'gray',
  }}
>
  {/* screens */}
</Tab.Navigator>

Understanding tab navigation is essential for building user-friendly React Native applications that require quick access to multiple functionalities. Feel free to explore the React Navigation documentation further to fully grasp its capabilities.

Book a conversation with us for personalize training today!

Was this helpful?
Logo