How to make mui skeleton for image in react js?
October 25, 2023Hi Friends 👋,
Welcome To aGuideHub!
To make mui skeleton for image in react js, you can use <Image src="mouse.jpg" alt="mouse" />
in skeleton. it will make mui skeleton for image in React JS.
Today, I am going to show you, How to make mui skeleton for image in react js
Installation
Install the following packages to use mui skeleton 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 skeleton.
- Use the skeleton 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 skeleton.
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 { styled } from "@mui/material/styles";
import Box from "@mui/material/Box";
import Typography from "@mui/material/Typography";
import Avatar from "@mui/material/Avatar";
import Grid from "@mui/material/Grid";
import Skeleton from "@mui/material/Skeleton";
Step 3: Use the skeleton Component.
A skeleton screen is an animated placeholder that simulates the layout of a website while data is being loaded.
<Box sx={{ display: "flex", alignItems: "center" }}>
<Box sx={{ margin: 1 }}>
{loading ? (
<Skeleton variant="circular">
<Avatar />
</Skeleton>
) : (
<Avatar src="Beautiful-Facebook.jpg" />
)}
</Box>
<Box sx={{ width: "100%" }}>
{loading ? (
<Skeleton width="100%">
<Typography>.</Typography>
</Skeleton>
) : (
<Typography>Ted</Typography>
)}
</Box>
</Box>
{loading ? (
<Skeleton variant="rectangular" width="100%">
<div style={{ paddingTop: "57%" }} />
</Skeleton>
) : (
<Image src="mouse.jpg" alt="mouse" />
)}
MUI material make mui skeleton for image example.
The below code is an example, you need to import skeleton
Component. Then, you can use <Image src="mouse.jpg" alt="mouse" />
in skeleton. Then it will make mui skeleton for image in react js.
App.js
import * as React from "react";
import PropTypes from "prop-types";
import { styled } from "@mui/material/styles";
import Box from "@mui/material/Box";
import Typography from "@mui/material/Typography";
import Avatar from "@mui/material/Avatar";
import Grid from "@mui/material/Grid";
import Skeleton from "@mui/material/Skeleton";
const Image = styled("img")({
width: "100%"
});
function SkeletonChildrenDemo(props) {
const { loading = false } = props;
return (
<div>
<Box sx={{ display: "flex", alignItems: "center" }}>
<Box sx={{ margin: 1 }}>
{loading ? (
<Skeleton variant="circular">
<Avatar />
</Skeleton>
) : (
<Avatar src="Beautiful-Facebook.jpg" />
)}
</Box>
<Box sx={{ width: "100%" }}>
{loading ? (
<Skeleton width="100%">
<Typography>.</Typography>
</Skeleton>
) : (
<Typography>Ted</Typography>
)}
</Box>
</Box>
{loading ? (
<Skeleton variant="rectangular" width="100%">
<div style={{ paddingTop: "57%" }} />
</Skeleton>
) : (
<Image src="mouse.jpg" alt="mouse" />
)}
</div>
);
}
SkeletonChildrenDemo.propTypes = {
loading: PropTypes.bool
};
export default function SkeletonChildren() {
return (
<Grid container spacing={8}>
<Grid item xs>
<SkeletonChildrenDemo loading />
</Grid>
<Grid item xs>
<SkeletonChildrenDemo />
</Grid>
</Grid>
);
}
In the above code example, I have used the @mui/material
component and make mui skeleton for image in react js.
Here, we are provided code sandbox links for the above program make mui skeleton for image in react js. Then you can use whenever you want and do the changes as per your requirements.
All the best 👍