Table of Contents
React's use of JSX allows you to write HTML-like code in JavaScript.
Because it is JavaScript, you can use JavaScript to repeat elements in JSX, wheres you couldn't do this normally in HTML.
In this post, we'll learn the easiest way to repeat JSX elements in a loop in React.
How to repeat JSX elements in a loop
Let's say you have an array of objects, and you want to repeat JSX elements for each object in the array.
First, we can define the array:
JAVASCRIPTconst array = [
{ name: "John", age: 20 },
{ name: "Mary", age: 25 },
{ name: "Peter", age: 30 },
];
Then, we can use the map() method to loop through the array and create a JSX element for each object in the array:
JSXconst array = [
{ name: "John", age: 20 },
{ name: "Mary", age: 25 },
{ name: "Peter", age: 30 },
];
const elements = array.map(item => {
return (
<div>
<h1>{item.name}</h1>
<p>{item.age}</p>
</div>
);
});
Finally, we can render the JSX elements by calling it inside using { elements }:
JSXconst array = [
{ name: "John", age: 20 },
{ name: "Mary", age: 25 },
{ name: "Peter", age: 30 },
];
const elements = array.map(item => {
return (
<li>
<h1>{item.name}</h1>
<p>{item.age}</p>
</li>
);
});
const App = () => {
return (
<div>
<h1>Hello World</h1>
<ul>
{ elements }
</ul>
</div>
);
}
This code results in this HTML:
HTML<div>
<h1>Hello World</h1>
<ul>
<li>
<h1>John</h1>
<p>20</p>
</li>
<li>
<h1>Mary</h1>
<p>25</p>
</li>
<li>
<h1>Peter</h1>
<p>30</p>
</li>
</ul>
</div>
Here's how you add a key to each JSX element:
JSXconst array = [
{ name: "John", age: 20 },
{ name: "Mary", age: 25 },
{ name: "Peter", age: 30 },
];
const elements = array.map(item => {
return (
<li key={item.name}>
<h1>{item.name}</h1>
<p>{item.age}</p>
</li>
);
});
Conclusion
In this post, we learned how to repeat JSX elements in a loop in React.
Simply use the map() method to loop through an array and create a JSX element for each object in the array.
Thanks for reading!
How to Install Node on Windows, macOS and Linux
Getting Started with Express
Create an RSS Reader in Node
How to deploy a .NET app using Docker
How to deploy a PHP app using Docker
How to deploy a MySQL Server using Docker
How to deploy an Express app using Docker
Learn how to use v-model with a custom Vue component
How to Scrape the Web using Node.js and Puppeteer
Build a Real-Time Chat App with Node, Express, and Socket.io
Learn how to build a Slack Bot using Node.js
Setting Up Stylus CSS Preprocessor
