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. Button Component allows the user to take actions, and make choices, with a single tap. There are different ways to define a button. A split button is used to make a button as a dropdown. There is a default option for users to click. If the user wants to choose another option, he can click on the arrow and make that his default choice to click.
Approach: Let us create a React project and install React Suite module. Then we will create a UI that will showcase React Suite Split Button.
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: We are creating a UI that shows a React Suite Split Button.
App.js
import React from 'react';
import '../node_modules/rsuite/dist/rsuite.min.css';
import { Popover, Dropdown, IconButton, ButtonGroup, Button, Whisper } from 'rsuite';
import ArrowDownIcon from '@rsuite/icons/ArrowDown';
export default function App() {
const [action, setAction] = React.useState(0);
const courses = ['Data Structures and Algorithms - Self Paced',
'Amazon SDE Preparation Test Series',
'Complete Interview Preparation - Self Paced'];
return (
<div style={{ margin: 50, textAlign: "center" }}>
<h3 style={{ color: 'green' }}>GeeksforGeeks</h3>
<h3>React Suite Split Button</h3> <br /><br />
<ButtonGroup>
<Button>{courses[action]}</Button>
<Whisper
trigger="click"
speaker={({ onClose, left, top, className }, ref) => {
const handleSelect = eventKey => {
onClose();
setAction(eventKey);
};
return (
<Popover ref={ref} className={className}
style={{ left, top }} full>
<Dropdown.Menu onSelect={handleSelect}>
{courses.map((item, index) => (
<Dropdown.Item key={index}
eventKey={index}>
{item}
</Dropdown.Item>
))}
</Dropdown.Menu>
</Popover>
);
}}
>
<IconButton icon={<ArrowDownIcon />} />
</Whisper>
</ButtonGroup>
</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:
React Suite Split Button
Example 2: We are creating a UI that shows a React Suite Split Button.
App.js
import React from 'react';
import '../node_modules/rsuite/dist/rsuite.min.css';
import { Popover, Dropdown, IconButton, ButtonGroup, Button, Whisper } from 'rsuite';
import ArrowDownIcon from '@rsuite/icons/ArrowDown';
export default function App() {
const [action, setAction] = React.useState(0);
const languages = ['C', 'C++', 'Java', 'Python'];
return (
<div style={{ margin: 50, textAlign: "center" }}>
<h3 style={{ color: 'green' }}>GeeksforGeeks</h3>
<h3>React Suite Split Button</h3> <br /><br />
<p>Choose your favourite Coding Language</p>
<ButtonGroup>
<Button>{languages[action]}</Button>
<Whisper
placement="bottomEnd"
trigger="click"
speaker={({ onClose, left, top, className }, ref) => {
const handleSelect = eventKey => {
onClose();
setAction(eventKey);
};
return (
<Popover ref={ref} className={className}
style={{ left, top }} full>
<Dropdown.Menu onSelect={handleSelect}>
{languages.map((item, index) => (
<Dropdown.Item key={index}
eventKey={index}>
{item}
</Dropdown.Item>
))}
</Dropdown.Menu>
</Popover>
);
}}
>
<IconButton icon={<ArrowDownIcon />} />
</Whisper>
</ButtonGroup>
</div>
);
}
Output: Now open your browser and go to http://localhost:3000/, you will see the following output:
React Suite Split Button
Reference: https://rsuitejs.com/components/button/#split-button
Similar Reads
React Suite Button Color
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 Button component is used to fire an action when the user clicks the button. In this article, we will be discussing the React Suite Button Color. To change th
3 min read
React Suite Button Icon
React Suite Button Icon allows to use of an Icon as a Button. The Button component is used to fire an action when the user clicks the button. React Suite Button IconButton Icon component is used when we want to use an icon as a button, It has an icon property that is used to specify the icon of the
3 min read
React Suite Button Active
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 Button component is used to fire an action when the user clicks the button. In this article, we will be learning about the React Suite Button Active. To mak
3 min read
React Suite Button Size
React Suite is a front-end library designed for the middle platform and back-end products. Button Component allows the user to interact with the webpage. The Button Component has a number of properties of its own like appearance, size, color, etc. Here we will look into the size property. Size Prop
2 min read
React Suite Loading Button
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 Button component is used to fire an action when the user clicks on it. In this article, we will be seeing React Suite Loading button. The loading button is
3 min read
React Suite Button ts:Color Props
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 Button component is used to fire an action when the user clicks the button. ts:Color props are used to provide different colors to the Buttons. It provides d
2 min read
React Suite Buttons Props
React Suite is a front-end library designed for the middle platform and back-end products. Button Component allows the user to interact with the webpage. The Button Component has a number of properties of its own like appearance, size, color, etc. The props are: active: It is a boolean value. It de
4 min read
React Suite Button 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. Button Component allows the user to take actions, and make choices, with a single tap. We can use the following approach in ReactJS to use the React Suite Button
3 min read
React Suite Split Button
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. Button Component allows the user to take actions, and make choices, with a single tap. There are different ways to define a button. A split button is used to mak
3 min read
React Suite Button toolbar
React suite is a library of React components, sensible UI design, and a friendly development experience. It is supported in all major browsers. It provides pre-built components of React which can be used easily in any web application. In this article, we'll learn about React suite Button toolbar. A
3 min read