How to make mui circular progress with overlay in react js?
October 15, 2023Hi Friends 👋,
Welcome To aGuideHub!
To make mui circular progress with overlay in react js, you can use overlay
useStyles. it will make mui circular progress with overlay in React JS.
Today, I am going to show you, How to make mui circular progress with overlay 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 React, { useState } from "react";
import CircularProgressOverlay from "./CircularProgressOverlay";
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.
<CircularProgressOverlay loading={loading} />
MUI material make mui circular progress with overlay example.
The below code is an example, you need to import progress
Component. Then, you can use overlay
useStyles
in progress. Then it will make mui circular progress with overlay in react js.
App.js
import React, { useState } from "react";
import CircularProgressOverlay from "./CircularProgressOverlay";
function App() {
const [loading, setLoading] = useState(false);
// Simulate loading with a timeout
const handleStartLoading = () => {
setLoading(true);
setTimeout(() => {
setLoading(false);
}, 3000); // Simulating a 3-second loading process
};
return (
<div className="App">
<h1>Circular Progress Overlay</h1>
<button onClick={handleStartLoading}>Start Loading</button>
<CircularProgressOverlay loading={loading} />
</div>
);
}
export default App;
CircularProgressOverlay.js
import React from "react";
import CircularProgress from "@mui/material/CircularProgress";
import { makeStyles } from "@mui/styles";
import { Paper } from "@mui/material";
const useStyles = makeStyles((theme) => ({
root: {
display: "flex",
justifyContent: "center",
alignItems: "center",
height: "100vh"
},
overlay: {
position: "fixed",
top: 0,
left: 0,
width: "100%",
height: "100%",
backgroundColor: "rgba(0, 0, 0, 0.6)",
display: "flex",
justifyContent: "center",
alignItems: "center",
zIndex: 999
}
}));
const CircularProgressOverlay = ({ loading }) => {
const classes = useStyles();
if (!loading) {
return null;
}
return (
<div>
<div className={classes.overlay}>
<CircularProgress sx={{ color: "white" }} />
</div>
</div>
);
};
export default CircularProgressOverlay;
In the above code example, I have used the @mui/material
component and make mui circular progress with overlay in react js.
Here, we are provided code sandbox links for the above program make mui circular progress with overlay in react js. Then you can use whenever you want and do the changes as per your requirements.
All the best 👍