React MUI AccordionDetails API
Last Updated :
29 Sep, 2022
React MUI is a UI library providing predefined robust and customizable components for React for easier web development. The MUI design is based on top of Material Design by Google. Material-UI is a user interface library that provides predefined and customizable React components for faster and easy web development, these Material-UI components are based on top of Material Design by Google.
In this article, we are going to discuss the React MUI AccordionDetails API. The Accordion component allows the user to organize content in different sections in a single container. Users can show and hide the different sections.
Import AccordionDetails API:
import AccordionDetails from '@mui/material/AccordionDetails';
Props list:
- children: It is used to denote the content of the card.
- classes: It is to override or extend the styles applied to the component.
- sx: It is used to add custom CSS styles to the card.
CSS Rules:
- root (MuiCard-root): It is the style applied to the root element.
Approach: Let us create a React project and install React MUI module. Then we will create a UI that will showcase React MUI AccordionDetails API.
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 @mui/material @emotion/react @emotion/styled
npm install @mui/icons-material
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
Step to Run Application: Run the application using the following command from the root directory of the project:
npm start
Example 1: We are creating a UI that shows MUI AccordionDetails API.
App.js
import * as React from 'react' ;
import { Accordion, AccordionSummary, AccordionDetails, Typography }
from '@mui/material' ;
import ExpandMoreIcon from '@mui/icons-material/ExpandMore' ;
export default function Demo() {
return (
<div style={{ margin: 100 }}>
<h1 style={{ color: 'green' }}>GeeksforGeeks</h1>
<h3><u>React MUI AccordionDetails API</u></h3>
<Accordion>
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
<Typography>User 1</Typography>
</AccordionSummary>
<AccordionDetails sx={{ bgcolor: "#E8E8E8" ,
color: "green" }}>
<h3>Welcome to Geeks For Geeks</h3>
</AccordionDetails>
</Accordion>
</div>
);
}
|
Output: Now open your browser and go to http://localhost:3000/, you will see the following output:
Example 2: We are creating a UI that shows MUI AccordionDetails API.
App.js
import * as React from 'react' ;
import Accordion from '@mui/material/Accordion' ;
import AccordionSummary from '@mui/material/AccordionSummary' ;
import AccordionDetails from '@mui/material/AccordionDetails' ;
import Typography from '@mui/material/Typography' ;
import ExpandMoreIcon from '@mui/icons-material/ExpandMore' ;
export default function Demo() {
return (
<div style={{ margin: 100 }}>
<h1 style={{ color: 'green' }}>GeeksforGeeks</h1>
<h3><u>React MUI AccordionDetails API</u></h3>
<Accordion>
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
<Typography>DSA Self Paced</Typography>
</AccordionSummary>
<AccordionDetails sx={{ bgcolor: "#E8E8E8" }}>
<h3>Course Description</h3>
<p>
Most popular course on DSA trusted by
over 75,000 students! Built with years
of experience by industry experts and
gives you a complete package of video
lectures, practice problems, quizzes,
discussion forums and contests. Start
Today!
</p>
</AccordionDetails>
</Accordion>
<Accordion>
<AccordionSummary expandIcon={<ExpandMoreIcon />}>
<Typography>
Complete Interview Preparation
- Self Paced
</Typography>
</AccordionSummary>
<AccordionDetails sx={{ bgcolor: "#E8E8E8" }}>
<h3>Course Description</h3>
<p>
An interview-centric course designed
to prepare you for the role of SDE
for both product and service based
companies. A placement preparation
pack built with years of expertise.
Prepare C++, Java,DSA, CS Theory
concepts and much more!
</p>
</AccordionDetails>
</Accordion>
</div>
);
}
|
Output: Now open your browser and go to http://localhost:3000/, you will see the following output:
Reference: https://mui.com/material-ui/api/accordion-details/
Share your thoughts in the comments
Please Login to comment...