Saturday, January 11, 2025
Google search engine
HomeLanguagesReact MUI Grid Layout

React MUI Grid Layout

React MUI is a UI library that provides fully-loaded components, bringing our own design system to our production-ready components. MUI 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’ll be discussing React MUI Grid layout. A responsive layout grid adapts to screen size and orientation, ensuring consistency across layouts.

Grid Layout Variants:

  • Fluid grids: This grid type uses columns that scale and resize content and can use breakpoints to determine if the layout needs to change dramatically.
  • Spacing: The spacing value can be any positive number, including decimals and any string. 
  • Responsive values: The grid layout supports all the responsive values like columns, columnSpacing, direction, rowSpacing, and spacing.
  • Interactive: To make a grid layout interactive, use directions, justifyContent, and alignItems props.
  • Auto-layout: The Auto-layout makes the items equitably share the available space and can set the width of one item and the others will automatically resize around it.
  • Complex Grid: With the help of a grid layout, a complex layout can be made.
  • Nested Grid: The container and item props are two independent booleans and can be combined to allow a Grid component to be both a flex container and child acting as a nested grid.
  • Columns: We change the default number of columns (12) with the help of columns prop.
  • Limitations: There are several limitations of grid layout like Negative margin, white-space: nowrap, direction: column | column-reverse.
  • CSS Grid Layout: The grid layout is using CSS flexbox internally but we can use the system and CSS Grid to layout your pages.
  • System props: The grid layout supports all system properties and can be used as props directly on the component. 
  • API: The API used in container layout is: <Grid />

 

Syntax:

<Grid>
    ...
</Grid>

Creating React Project:

Step 1: To create a react app, install react modules through the npm command.

npm 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

Project Structure:

 

Step to Run Application: Open the terminal and type the following command.

npm start

Example 1: Below example demonstrates the React MUI fluid grid layout.

Javascript




import {
    Grid,
} from "@mui/material";
import { Box } from "@mui/system";
import * as React from "react";
  
function App() {
    return (
        <center>
            <div>
                <h1 style={{ color: "green" }}>neveropen</h1>
                <h2>React MUI Grid Layout</h2>
            </div>
            <div style={{ width: "50%" }}>
                <Grid container spacing={3}>
                    <Grid item xs={4}>
                        <Box sx={{ backgroundColor: 'lightgreen'
                            padding: 1, textAlign: 'center', }}>
                            neveropen
                        </Box>
                    </Grid>
                    <Grid item xs={5}>
                        <Box sx={{ backgroundColor: 'lightgreen'
                            padding: 1, textAlign: 'center', }}>
                            neveropen
                        </Box>
                    </Grid>
                    <Grid item xs={5}>
                        <Box sx={{ backgroundColor: 'lightgreen'
                            padding: 1, textAlign: 'center', }}>
                            neveropen
                        </Box>
                    </Grid>
                    <Grid item xs={4}>
                        <Box sx={{ backgroundColor: 'lightgreen'
                            padding: 1, textAlign: 'center', }}>
                            neveropen
                        </Box>
                    </Grid>
                    <Grid item xs={4}>
                        <Box sx={{ backgroundColor: 'lightgreen'
                            padding: 1, textAlign: 'center', }}>
                            neveropen
                        </Box>
                    </Grid>
                    <Grid item xs={5}>
                        <Box sx={{ backgroundColor: 'lightgreen'
                            padding: 1, textAlign: 'center', }}>
                            neveropen
                        </Box>
                    </Grid>
                </Grid>
            </div>
        </center>
    );
}
  
export default App;


Output: 

 

Example 2: Below example demonstrates the React MUI nested grid layout.

Javascript




import {
    Grid,
} from "@mui/material";
import { Box } from "@mui/system";
import * as React from "react";
  
function GridComponent() {
    return (
        <React.Fragment>
            <Grid item xs={4}>
                <Box sx={{ backgroundColor: 'lightblue'
                    padding: 1, textAlign: 'center', }}>
                    neveropen
                </Box>
            </Grid>
            <Grid item xs={6}>
                <Box sx={{ backgroundColor: 'lightblue'
                    padding: 1, textAlign: 'center', }}>
                    neveropen
                </Box>
            </Grid>
            <Grid item xs={6}>
                <Box sx={{ backgroundColor: 'lightblue'
                    padding: 1, textAlign: 'center', }}>
                    neveropen
                </Box>
            </Grid>
            <Grid item xs={4}>
                <Box sx={{ backgroundColor: 'lightblue'
                    padding: 1, textAlign: 'center', }}>
                    neveropen
                </Box>
            </Grid>
        </React.Fragment>
    )
}
  
function App() {
    return (
        <center>
            <div>
                <h1 style={{ color: "green" }}>
                    neveropen
                </h1>
                <h2>React MUI Grid Layout</h2>
            </div>
            <div style={{ width: "50%" }}>
                <Grid container spacing={3}>
                    <Grid container item spacing={2}>
                        <GridComponent />
                    </Grid>
                    <Grid container item spacing={2}>
                        <GridComponent />
                    </Grid>
                </Grid>
            </div>
        </center>
    );
}
  
export default App;


Output: 

 

Reference: https://mui.com/material-ui/react-grid

Whether you’re preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape, neveropen Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we’ve already empowered, and we’re here to do the same for you. Don’t miss out – check it out now!

RELATED ARTICLES

Most Popular

Recent Comments