Ant Design Library has this component pre-built, and it is very easy to integrate as well. The Drawer component is a panel that slides in from the edge of the screen. We can use the following approach in ReactJS to use the Ant Design Drawer Component.
Drawer Props:
- afterVisibleChange: It is a callback function that is triggered after the animation ends when switching drawers.
- bodyStyle: It is used for the style of the drawer content part.
- className: It is used to pass the class name of the container of the Drawer dialog.
- closable: It is used to indicate whether a close button is visible on the top right of the Drawer dialog or not
- closeIcon: It is used for the custom close icon.
- contentWrapperStyle: It is used for the style of the drawer wrapper of the content part.
- destroyOnClose: It is used to indicate whether to unmount child components on the closing drawer or not.
- drawerStyle: It is used for the style of the popup layer element.
- footer: It is used to denote the footer for Drawer.
- footerStyle: It is used for the style of the drawer footer part.
- forceRender: It is used to forcefully pre-render the Drawer component.
- getContainer: It is used to return the mounted node for Drawer.
- headerStyle: It is used for the style of the drawer header part.
- height: It is used to denote the height of the Drawer dialog.
- keyboard: It is used to indicate whether to support press ESC to close or not.
- mask: It is used to indicate whether to show mask or not.
- maskClosable: It is used to indicate whether to close the Drawer or not while clicking on the mask.
- maskStyle: It is used for the style for Drawer’s mask element.
- placement: It is used for the placement of the Drawer.
- push: It is the nested drawers’ push behavior.
- style: It is used for the style of wrapper element.
- title: It is used to denote the title for Drawer.
- visible: It is used to indicate whether the Drawer dialog is visible or not.
- width: It is used to denote the width of the Drawer dialog.
- zIndex: It is used to denote the z-index of the Drawer.
- onClose: It is a callback function that will be triggered when a user clicks the mask, close button, or Cancel button.
Creating React Application And Installing Module:
Step 1: Create a React application using the following command:
npx create-react-app foldername
Step 2: After creating your project folder i.e. foldername, move to it using the following command:
cd foldername
Step 3: After creating the ReactJS application, Install the required module using the following command:
npm install antd
Project Structure: It will look like the following.

Project Structure
Example: Now write down the following code in the App.js file. Here, App is our default component where we have written our code.
App.js
import React, { useState } from 'react'
import "antd/dist/antd.css" ;
import { Drawer, Button } from 'antd' ;
export default function App() {
const [visible, setVisible] = useState( false );
return (
<div style={{
display: 'block' , width: 700, padding: 30
}}>
<h4>ReactJS Ant-Design Drawer Component</h4>
<>
<Button type= "primary"
onClick={() => {
setVisible( true );
}}>Open</Button>
<Drawer
title= "Drawer Demo"
placement= "left"
closable={ false }
visible={visible}
onClose={() => {
setVisible( false )
}}
>
<p>Item One</p>
<p>Item Two</p>
<p>Item Three</p>
<p>Item Four</p>
<p>Item Five</p>
</Drawer>
</>
</div>
);
}
|
Step to Run Application: Run the application using the following command from the root directory of the project:
npm start
Output: Now open your browser and go to http://localhost:3000/, you will see the following output:

Reference: https://ant.design/components/drawer/