Horje
React Suite Sidenav Component

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. Sidenav component allows the user to provide an easy way to navigate through your website. It is treated as the sidebar of the page. We can use the following approach in ReactJS to use the React Suite Sidenav Component.

Sidenav Props:

  • activeKey: It is used to denote the Active key which corresponds to eventkey in Nav.Item.
  • appearance: It is used for menu appearances.
  • classPrefix: It is used to denote the prefix of the component CSS class.
  • componentClass: It can be used for the custom element type for this component.
  • defaultOpenKeys: It is used to denote the Open menu which corresponds to the Dropdown eventkey.
  • expanded: It is used to indicate whether to expand the Sidenav or not.
  • onOpenChange: It is used to denote the Menu opening callback function.
  • onSelect: It is a callback function that is triggered on the Select of the Menu item.
  • openKeys: It is used to denote the Open menu which corresponds to the Dropdown eventkey which is controlled.

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 rsuite

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.

Filename: App.js

javascript

import React from 'react'
import 'rsuite/dist/styles/rsuite-default.css';
import { Sidenav, Nav, Dropdown } from 'rsuite';
  
export default function App() {
  
  return (
    <div style={{
      display: 'block', width: 700, paddingLeft: 30
    }}>
      <h4>React Suite Sidenav Component</h4>
      <Sidenav defaultOpenKeys={['3', '4']} activeKey="1">
        <Sidenav.Body>
          <Nav>
            <Nav.Item eventKey="1">Dashboard</Nav.Item>
            <Nav.Item eventKey="2">Profile</Nav.Item>
            <Nav.Item eventKey="3">Settings</Nav.Item>
            <Dropdown eventKey="4" title="Advanced">
              <Dropdown.Item eventKey="4-1">Privacy</Dropdown.Item>
              <Dropdown.Item eventKey="4-2">About</Dropdown.Item>
              <Dropdown.Item eventKey="4-3">Terms</Dropdown.Item>
            </Dropdown>
          </Nav>
        </Sidenav.Body>
      </Sidenav>
    </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:

Example 2

In this example, we will learn to create a SideNav with icons

Icons are sourced from

https://rsuitejs.com/resources/icons/

Javascript

import React from 'react'
import 'rsuite/dist/rsuite.min.css';
import { Sidenav, Nav, Dropdown } from 'rsuite';
import UserBadgeIcon from '@rsuite/icons/UserBadge';
import DashboardIcon from '@rsuite/icons/Dashboard';
import SettingIcon from '@rsuite/icons/Setting';
export default function App() {
  
return (
    <div style={{
    display: 'block', width: 700, paddingLeft: 30
  }}>
  <h1 style={{color:'green'}}>GeeksforGeeks</h1>
    <h4>React Suite Sidenav Component</h4>
    <Sidenav defaultOpenKeys={['3', '4']} activeKey="1">
        <Sidenav.Body>
        <Nav>
      <Nav.Item eventKey="1" icon={<DashboardIcon/>}>Dashboard</Nav.Item>
       
      <Nav.Item eventKey="2" icon={<UserBadgeIcon/>}>Profile</Nav.Item>
        
      <Nav.Item eventKey="3" icon={<SettingIcon/>}>Settings</Nav.Item>
       
        </Nav>
        </Sidenav.Body>
    </Sidenav>
    </div>
);
}

OUTPUT

 

Reference: https://rsuitejs.com/components/sidenav/




Reffered: https://www.geeksforgeeks.org


JavaScript

Related
React Suite Modal Component React Suite Modal Component
React Suite FlexboxGrid Component React Suite FlexboxGrid Component
React Suite Container Component React Suite Container Component
React Suite Loader Component React Suite Loader Component
React Suite Message Component React Suite Message Component

Type:
Geek
Category:
Coding
Sub Category:
Tutorial
Uploaded by:
Admin
Views:
7