React Native Drawer Navigation Example
May 31, 2022 . Admin

Hi Guys,
In this example, I will show you how to create drawer navigation in react native. let’s discuss about how to implement drawer navigation in react native. if you have question about react native drawer navigation example then I will give simple example with solution. it's simple example of drawer navigation example in react native. you will do the following things for how to use drawer navigation in react native.
In this example, there are 3 screens (Home, Cart, and Images) defined using the Drawer.Screen component. Similarly, you can define as many screens as you like.
Step 1: Download ProjectIn the first step run the following command to create a project.
expo init DrawerNavigationStep 2: Installation and Setup
First, you need to install them in your project:
npm install @react-navigation/native
after all you need to install drawer navigation:
npm install @react-navigation/drawer
You also need to install react-native-gesture-handler and react-native-reanimated.
If you have a Expo managed project, in your project directory, run:
expo install react-native-gesture-handler react-native-reanimated
If you have a bare React Native project, in your project directory, run:
npm install react-native-gesture-handler react-native-reanimated
you can set drawer icon to install vector icons:
npm i react-native-vector-icons
you have use any bundled Icon:
import this:import Icon from 'react-native-vector-icons/FontAwesome5';Step 3: App.js
Now, you need to wrap the whole app in NavigationContainer. Usually, you'd do this in your entry file, such as App.js:
In this step, You will open the App.js file and put the code.
import React from 'react'; import { NavigationContainer } from '@react-navigation/native'; import { createDrawerNavigator } from '@react-navigation/drawer'; import { StyleSheet, Text, View } from 'react-native'; import Icon from 'react-native-vector-icons/FontAwesome5'; const HomeScreen = () => { return ( <View style={styles.container}> <Text style={styles.text}>HomeScreen</Text> </View> ); } const CartScreen = () => { return ( <View style={styles.container}> <Text style={styles.text}>CartScreen</Text> </View> ); } const ImageScreen = () => { return ( <View style={styles.container}> <Text style={styles.text}>ImageScreen</Text> </View> ); } const Drawer = createDrawerNavigator(); const App = () => { return ( <NavigationContainer> <Drawer.Navigator> <Drawer.Screen name='Home' component={HomeScreen} options={{ drawerIcon: ({ focused, size }) => ( <Icon name="home" size={size} color={focused ? 'red' : 'black'} /> ), }} /> <Drawer.Screen name='Cart' component={CartScreen} options={{ drawerIcon: ({ focused, size }) => ( <Icon name="shopping-cart" size={size} color={focused ? 'red' : 'black'} /> ), }} /> <Drawer.Screen name='Image' component={ImageScreen} options={{ drawerIcon: ({ focused, size }) => ( <Icon name="images" size={size} color={focused ? 'red' : 'black'} /> ), }} /> </Drawer.Navigator> </NavigationContainer> ); } const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', }, text: { fontSize: 20, } }); export default App;Run Project
In the last step run your project using the below command.
expo start
You can QR code scan in Expo Go Application on mobile.
Output :
It will help you...