How to show mui progress bar with percentage in react js?
October 09, 2023Hi Friends 👋,
Welcome To aGuideHub!
To show mui progress bar with percentage in react js, you can use value={progress}
in progress. it will show mui progress bar with percentage in React JS.
Today, I am going to show you, How to show mui progress bar with percentage in react js
Installation
Install the following packages to use mui progress in react js.
npm
npm install @mui/material @emotion/react @emotion/styled
yarn
yarn add @mui/material @emotion/react @emotion/styled
Table of contents
- Install MUI and create a new React app.
- Import Material-UI progress.
- Use the progress Component
Step 1: Install MUI and create a new React app.
First you have to install the React project. You should use create-react-app
command to create a new React project.
npx create-react-app my-app
cd my-app
npm start
Step 2: Import Material-UI progress.
After installing MUI
, you have to import your React component. To do this, add the following line to the top of your component file.
import * as React from 'react';
import PropTypes from 'prop-types';
import LinearProgress from '@mui/material/LinearProgress';
import Typography from '@mui/material/Typography';
import Box from '@mui/material/Box';
Step 3: Use the progress Component.
Progress indicators inform users about the status of ongoing processes, such as loading an app, submitting a form, or saving updates.
<Box sx={{ width: '100%' }}>
<LinearProgressWithLabel value={progress} />
</Box>
MUI material show mui progress bar with percentage example.
The below code is an example, you need to import progress
Component. Then, A Typography component is used to display the progress percentage as text. It calculates the percentage
from the props.value
. Then it will show mui progress bar with percentage in react js.
App.js
import * as React from 'react';
import PropTypes from 'prop-types';
import LinearProgress from '@mui/material/LinearProgress';
import Typography from '@mui/material/Typography';
import Box from '@mui/material/Box';
function LinearProgressWithLabel(props) {
return (
<Box sx={{ display: 'flex', alignItems: 'center' }}>
<Box sx={{ width: '100%', mr: 1 }}>
<LinearProgress variant="determinate" {...props} />
</Box>
<Box sx={{ minWidth: 35 }}>
<Typography variant="body2" color="text.secondary">{`${Math.round(
props.value,
)}%`}</Typography>
</Box>
</Box>
);
}
LinearProgressWithLabel.propTypes = {
/**
* The value of the progress indicator for the determinate and buffer variants.
* Value between 0 and 100.
*/
value: PropTypes.number.isRequired,
};
export default function LinearWithValueLabel() {
const [progress, setProgress] = React.useState(10);
React.useEffect(() => {
const timer = setInterval(() => {
setProgress((prevProgress) => (prevProgress >= 100 ? 10 : prevProgress + 10));
}, 800);
return () => {
clearInterval(timer);
};
}, []);
return (
<Box sx={{ width: '100%' }}>
<LinearProgressWithLabel value={progress} />
</Box>
);
}
In the above code example, I have used the @mui/material
component and show mui progress bar with percentage in react js.
Check the output of the above code example.
Here, we are provided code sandbox links for the above program show mui progress bar with percentage in react js. Then you can use whenever you want and do the changes as per your requirements.
All the best 👍