Open In App

React Suite Progress Component

Last Updated : 10 Apr, 2023
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. Progress component allows the user to display the current progress of an operation flow. We can use the following approach in ReactJS to use the React Suite Progress Component.

Progress.Line Props:

  • classPrefix: It is used to denote the prefix of the component CSS class
  • percent: It is used to set the completion percentage.
  • showInfo: It is used to indicate whether to display text or not.
  • status: It is used to set the status of the Progress.
  • strokeColor: It is used to denote the line color.
  • strokeWidth: It is used to set the line width.
  • vertical: The progress bar is vertically displayed.

Progress.Circle Props:

  • classPrefix: It is used to denote the prefix of the component CSS class
  • gapDegree: It is used to denote the gap degree of the half-circle.
  • gapPosition: It is used to denote the gap position.
  • percent: It is used to set the completion percentage.
  • showInfo: It is used to indicate whether to display text or not.
  • status: It is used to set the status of the Progress.
  • strokeColor: It is used to denote the line color.
  • strokeLinecap: It is used to denote the end of different types of open paths
  • strokeWidth: It is used to set the line width.
  • trailColor: It is used to set the unfilled part color.
  • trailWidth: It is used to set the unfilled part width.

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 { Progress } from 'rsuite'
  
const { Line, Circle } = Progress
  
export default function App() {
  
  return (
    <div style={{
      display: 'block', width: 700, paddingLeft: 30
    }}>
      <h4>React Suite Progress Component</h4>
      <div style={{ width: 200 }}>
        <Line percent={80} status='success' />
        <Circle percent={30} strokeColor="#ffc107" />
        <Line vertical percent={50} status="fail" />
      </div>
    </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 , how can we make a Dynamic progress component. We will display, green colour and OK icon as soon as progress is completed.

Javascript




import "rsuite/dist/rsuite.min.css";
import React, { useState } from "react";
import { Progress, ButtonGroup, Row, Col, Button } from "rsuite";
import "rsuite/dist/rsuite.min.css";
const { Line, Circle } = Progress;
  
  
export default function App() {
  const [percent, setPercent] = React.useState(30);
  
  const decline = () => {
    const value = Math.max(percent - 10, 0);
    setPercent(value);
  };
  
  const increase = () => {
    const value = Math.min(percent + 10, 100);
    setPercent(value);
  };
  
  const status = percent === 100 ? "success" : null;
  const color = percent === 100 ? "#52c41a" : "#3385ff";
  return (
    <div
      style={{
        display: "block",
        width: 700,
        paddingLeft: 30
      }}
    >
      <h1 style={{ color: "green" }}>GeeksforGeeks</h1>
      <h4>React Suite Progress Component</h4>
      <ButtonGroup>
        <Button onClick={decline}>-</Button>
        <Button onClick={increase}>+</Button>
      </ButtonGroup>
      <hr />
        
      <div style={{ width: 120, marginTop: 10 }}>
        <Progress.Circle
          percent={percent}
          strokeColor={color}
          status={status}
        />
      </div>
    </div>
  );
}


 

OUTPUT

 

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



Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads