React Suite is a useful UI library that lets us add many components easily into our React app.
In this article, we’ll look at how to use it to add components to our React app.
Navbar
We can add a navbar with the Navbar
component.
For instance, we can write:
import React from "react";
import { Navbar, Nav, Icon, Dropdown } from "rsuite";
import "rsuite/dist/styles/rsuite-default.css";
export default function App() {
return (
<div className="App">
<Navbar>
<Navbar.Body>
<Nav>
<Nav.Item icon={<Icon icon="home" />}>Home</Nav.Item>
<Nav.Item>News</Nav.Item>
<Nav.Item>Products</Nav.Item>
<Dropdown title="About">
<Dropdown.Item>Company</Dropdown.Item>
<Dropdown.Item>Team</Dropdown.Item>
</Dropdown>
</Nav>
<Nav pullRight>
<Nav.Item icon={<Icon icon="cog" />}>Settings</Nav.Item>
</Nav>
</Navbar.Body>
</Navbar>
</div>
);
}
We add the Navbar
with the Navbar.Body
to add the navbar.
Nav.Item
has the nav items.
pullright
makes an item stay on the right side.
And we can change the background color with the appearance
prop:
import React from "react";
import { Navbar, Nav, Icon, Dropdown } from "rsuite";
import "rsuite/dist/styles/rsuite-default.css";
export default function App() {
return (
<div className="App">
<Navbar appearance="inverse">
<Navbar.Body>
<Nav>
<Nav.Item icon={<Icon icon="home" />}>Home</Nav.Item>
<Nav.Item>News</Nav.Item>
<Nav.Item>Products</Nav.Item>
<Dropdown title="About">
<Dropdown.Item>Company</Dropdown.Item>
<Dropdown.Item>Team</Dropdown.Item>
</Dropdown>
</Nav>
<Nav pullRight>
<Nav.Item icon={<Icon icon="cog" />}>Settings</Nav.Item>
</Nav>
</Navbar.Body>
</Navbar>
</div>
);
}
Sidenav
We can add a navigation sidebar with the Sidenav
prop:
import React from "react";
import { Sidenav, Dropdown, Icon, Nav } from "rsuite";
import "rsuite/dist/styles/rsuite-default.css";
export default function App() {
return (
<div className="App">
<Sidenav defaultOpenKeys={["3", "4"]} activeKey="1">
<Sidenav.Body>
<Nav>
<Nav.Item eventKey="1" icon={<Icon icon="dashboard" />}>
Dashboard
</Nav.Item>
<Nav.Item eventKey="2" icon={<Icon icon="group" />}>
User Group
</Nav.Item>
<Dropdown
eventKey="3"
title="Advanced"
icon={<Icon icon="magic" />}
>
<Dropdown.Item eventKey="3-1">Geo</Dropdown.Item>
<Dropdown.Item eventKey="3-2">Devices</Dropdown.Item>
</Dropdown>
<Dropdown
eventKey="4"
title="Settings"
icon={<Icon icon="gear-circle" />}
>
<Dropdown.Item eventKey="4-1">Applications</Dropdown.Item>
<Dropdown.Item eventKey="4-2">Channels</Dropdown.Item>
</Dropdown>
</Nav>
</Sidenav.Body>
</Sidenav>
</div>
);
}
We just add Nav
s and Dropdown
s into our sidebar to add the entries.
defaultOpenKeys
are set to the keys of the menus to stay open by default.
activeKey
has the eventKey
of the item that’s active.
The appearance can be changed with the appearance
prop:
import React from "react";
import { Sidenav, Dropdown, Icon, Nav } from "rsuite";
import "rsuite/dist/styles/rsuite-default.css";
export default function App() {
return (
<div className="App">
<Sidenav appearance="inverse" defaultOpenKeys={["3", "4"]} activeKey="1">
<Sidenav.Body>
<Nav>
<Nav.Item eventKey="1" icon={<Icon icon="dashboard" />}>
Dashboard
</Nav.Item>
<Nav.Item eventKey="2" icon={<Icon icon="group" />}>
User Group
</Nav.Item>
<Dropdown
eventKey="3"
title="Advanced"
icon={<Icon icon="magic" />}
>
<Dropdown.Item eventKey="3-1">Geo</Dropdown.Item>
<Dropdown.Item eventKey="3-2">Devices</Dropdown.Item>
</Dropdown>
<Dropdown
eventKey="4"
title="Settings"
icon={<Icon icon="gear-circle" />}
>
<Dropdown.Item eventKey="4-1">Applications</Dropdown.Item>
<Dropdown.Item eventKey="4-2">Channels</Dropdown.Item>
</Dropdown>
</Nav>
</Sidenav.Body>
</Sidenav>
</div>
);
}
Conclusion
We can add navbar and sidebar navigation into our React app with React Suite.