Wednesday, July 3, 2024
HomeLanguagesReactHow to build an HTML table using ReactJS from arrays ?

How to build an HTML table using ReactJS from arrays ?

If we have an array and want to build an HTML table of it using ReactJS, we can use the map function. The map() method iterates through each element of the array and will convert it into a table row. First, we will create a table tag then first, we will iterate through the heading/column names of the table and convert them into a table header using the <th> tag. Then we will iterate through the table data and convert them into each row as a table body using the <td> tag.

Creating React Application:

Step 1: Create a React application using the following command:

npx create-react-app foldername

Step 2: After creating your project folder i.e. foldername, move to it using the following command:

cd foldername

Project Structure: It will look like the following.

Example: Now write down the following code in the App.js file. Here, App is our default component where we have written our code.

App.js

Javascript




import React, { Component } from 'react';
 
class App extends Component {
    render() {
        let heading = ['Name', 'City', 'Course'];
        let body =
            [['Kapil', 'Jaipur', 'MCA'],
            ['Aakash', 'Hisar', 'Btech'],
            ['Mani', 'Ranchi', 'MSc'],
            ['Yash', 'Udaipur', 'Mtech']
            ];
        return (
            <div >
                <Table heading={heading} body={body} />,
            </div>
        );
    }
}
 
class Table extends Component {
    render() {
        let heading = this.props.heading;
        let body = this.props.body;
        return (
            <table style={{ width: 500 }}>
                <thead>
                    <tr>
                        {heading.map((head, headID) =>
                            <th key={headID} >{head}</th>)}
                    </tr>
                </thead>
                <tbody>
                    {body.map((rowContent, rowID) =>
                        <TableRow rowContent={rowContent} key={rowID} />)}
                </tbody>
            </table>
        );
    }
}
 
class TableRow extends Component {
    render() {
        let row = this.props.rowContent;
        return (
            <tr>
                {row.map((val, rowID) => <td key={rowID}>{val}</td>)}
            </tr>
        )
    }
}
 
export default App;


 Step to Run Application: Run the application using the following command from the root directory of the project:

npm start

Output: Now open your browser and go to http://localhost:3000/, you will see the following output:

As we can see from the output we use <th> tag for the heading and <td> tag for the remaining rows. The map function iterates through each row and returns a row, and it is added to the table.

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!

Dominic Rubhabha Wardslaus
Dominic Rubhabha Wardslaushttps://neveropen.dev
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments