Open In App

React Suite <Drawer> Props

Last Updated : 06 Jul, 2022
Improve
Improve
Like Article
Like
Save
Share
Report

React Suite is a popular front-end library with a set of React components that are designed for the middle platform and back-end products. The Drawer component is a panel that slides in from the edge of the screen.

<Drawer> Props:

  • autoFocus: The Drawer is opened and is automatically focused on its own, and it is accessible to screen readers when this is set to true.
  • backdrop: The Drawer will display the background when it is opened when this is set to true.
  • backdropClassName: It is used to add an optional extra class name to .modal-backdrop.
  • classPrefix: It is used to denote the prefix of the component CSS class.
  • enforceFocus: The Drawer will prevent the focus from leaving when opened when this is set to true. It is a boolean value.
  • full: It is used to enable the full screen.
  • keyboard: It will close Drawer when the ESC key is pressed. It is a boolean value.
  • onEnter: It is a callback function that is triggered before the Drawer transitions in.
  • onEntered: It is a callback function that is triggered after the Drawer finishes transitioning in.
  • onEntering: It is a callback function that is triggered as the Drawer begins to transition in.
  • onExit: It is a callback function that is triggered right before the Drawer transitions out.
  • onExited: It is a callback function that is triggered after the Drawer finishes transitioning out.
  • onExiting: It is a callback function that is triggered as the Drawer begins to transition out.
  • onClose: It is a callback function that is triggered when the Drawer hides.
  • onOpen: It is a callback function that is triggered when the Drawer displayed.
  • placement: It is used for the placement of the Drawer.
  • open: It is used to show the Drawer. It is a boolean value.
  • size: It is used to set the Drawer size.

Approach: Let us create a React project and install React Suite module. Then we will create a UI that will showcase React Suite Drawer Props.

Creating React Project:

Step 1: To create a react app, you need to install react modules through npx command. “npx” is used instead of “npm” because you will be needing this command in your app’s lifecycle only once.

npx create-react-app project_name

Step 2: After creating your react project, move into the folder to perform different operations.

cd project_name

Step 3: After creating the ReactJS application, Install the required module using the following command:

npm install rsuite

Project Structure: After running the commands mentioned in the above steps, if you open the project in an editor you can see a similar project structure as shown below. The new component user makes or the code changes, we will be performing will be done in the source folder.

Project Structure

Example 1: We are creating a UI that shows different React Suite Drawer Props.

App.js




import React from 'react'
import '../node_modules/rsuite/dist/rsuite.min.css';
import { Drawer, Button } from 'rsuite';
  
export default function App() {
  
    const [isDrawerOpen, setIsDrawerOpen] = React.useState(false)
  
    // Function to close drawer
    const closeDrawer = () => {
        setIsDrawerOpen(false);
    }
  
    return (
        <div style={{ margin: 100 }}>
            <h1 style={{ color: 'green' }}>GeeksforGeeks</h1>
            <h1>React Suite < Drawer > Props</h1> <br></br>
            <Button color="green" appearance="primary" 
                onClick={() => { setIsDrawerOpen(true); }}>
                Click to open Drawer</Button>
  
            <Drawer
                placement="bottom"
                size="md"
                backdrop={true}
                open={isDrawerOpen}
                onClose={() => closeDrawer()}
            >
                <Drawer.Header>
                    <Drawer.Title>
                        Sample Title for Drawer</Drawer.Title>
                </Drawer.Header>
                <Drawer.Body>
                    Greetings from GeeksforGeeks!
                </Drawer.Body>
            </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:

Bottom Placed , Medium Sized Drawer

Example 2: We are creating a UI that shows different React Suite Full Screen Drawer .

App.js




import React from 'react'
import '../node_modules/rsuite/dist/rsuite.min.css';
import { Drawer, Button } from 'rsuite';
  
export default function App() {
  
    const [isDrawerOpen, setIsDrawerOpen] = React.useState(false)
  
    // Function to close drawer
    const closeDrawer = () => {
        setIsDrawerOpen(false);
    }
  
    return (
        <div style={{ margin: 100 }}>
            <h1 style={{ color: 'green' }}>GeeksforGeeks</h1>
            <h1>React Suite < Drawer > Props</h1> <br></br>
            <Button color="green" appearance="primary" 
                onClick={() => { setIsDrawerOpen(true); }}>
                Click to open Drawer</Button>
  
            <Drawer
                placement="left"
                size="full"
                open={isDrawerOpen}
                onClose={() => closeDrawer()}
            >
                <Drawer.Header>
                    <Drawer.Title>
                        Sample Title for Drawer</Drawer.Title>
                </Drawer.Header>
                <Drawer.Body>
                    Greetings from GeeksforGeeks!
                </Drawer.Body>
            </Drawer>
        </div>
    );
}


Output: Now open your browser and go to http://localhost:3000/, you will see the following output:

Full Screen Drawer

Reference: https://rsuitejs.com/components/drawer/#code-lt-drawer-gt-code



Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads