DEV Community

Cover image for How to Loop Inside React JSX?
Kuldeep Tarapara
Kuldeep Tarapara

Posted on • Originally published at bosctechlabs.com

How to Loop Inside React JSX?

JavaScript code may be written quickly inside components using React. This makes it simple for any developer to easily handle typical programming techniques in React, such as looping through a list of things, generating and calling functions, storing data in local variables, etc.

You can arrange how elements are rendered using JavaScript Syntax Extension (JSX), a JavaScript extension created and popularised by the React framework.

There is a good chance that you are familiar with, or at least aware of, JSX if you have previously dealt with React.

React markup is created using JSX, a special syntax extension for JavaScript.

It simply makes writing HTML code in React (explain the UI) more straightforward, and because of its versatility, JSX has been adopted over time by other well-known frameworks like Vue.js.

You may use all of JavaScript’s capabilities using JSX, although it may have a slight templating language resemblance.

What is JSX?

JavaScript XML is referred to as JSX. It is merely a JavaScript syntactic extension, enabling us to build HTML in React natively.

It is straightforward to generate a template in React using JSX, but it is not just a simple template language; instead, it contains all of JavaScript’s capabilities.

It performs optimizations while translating to conventional JavaScript, making it faster than that language.

React uses components instead of dividing the markup and logic into different files. In the next articles, we’ll discover more in-depth information on components. Till then the deep dive into component rerendring which is one of important topic in React.

Example:

import React from 'react';
import ReactDOM from 'react-dom';
const name = "Olivier";
const element = <h1> Welcome { name }, and thanks for choosing Bosc Tech Labs Private Limited.< /h1>;

ReactDOM.render(
    element,
    document.getElementById("root")
);</h1>
Enter fullscreen mode Exit fullscreen mode

Output:

Welcome Olivier, and thanks for choosing Bosc Tech Labs Private Limited.

That JSX needs to be converted into React in the build stage because it cannot be used directly in browsers. calls to the React.createElement function.

React.createElement:

A react element represents how a Document Object Model (DOM) element should appear in reality.

React.js uses virtual DOM rather than the browser’s DOM to construct the UI/UX and communicate with the browser.

React elements make up the virtual DOM. Although they resemble HTML elements, they are JavaScript objects.

To put it simply, React elements are the guidelines for how the browser DOM should be generated.

To display the material on the screen, HTML components are embedded in JavaScript and then converted into reacting elements using the syntax shown below.

Syntax:

React.createElement(type,{props},children);
Enter fullscreen mode Exit fullscreen mode

You can make a loop, add JSX to an array, and then loop over a set of elements to generate a JSX partial:

Syntax:

const elements = [] 
const items = []
for (const [index, value] of elements.entries()) {
  items.pugsh(<element key="{index}">)
}</element>
Enter fullscreen mode Exit fullscreen mode

Two Ways to Loop Inside React JSX

1. Using For Loop
2. Using Map Function

1. Using For Loop:

Assume for the moment that we have an array-style list of items. We can build a loop and add a JSX element to an array using the for a loop.

Example:

render() {
  const items= ['Html', 'C#', 'Css'];
  const elements= []
  for (const [index, value] of items.entries()) {
    elements.push(<li key="{index}">{value}</li>)
  }
  return (
    <div>
      { elements }
    </div>
  )
}
elements.push():
Enter fullscreen mode Exit fullscreen mode

To insert one or more values into the array, use the arr. push() method.

The array’s length is adjusted using this technique to reflect the number of new elements added.

2. Using Map Function:

Using the map function instead of a for-of loop, we can accomplish the same thing directly in the JSX component.

Example:

import React from react
const RenderList = props => {
  const Languages= ["French", "German", "English", "Spanish", "Mandarin"];
  return (
    <ul>
      {Languages.map(Languages => (
        <li>{Languages}</li>
      ))}
    </ul>
  );
};
Enter fullscreen mode Exit fullscreen mode

Conclusion:

Component loops are frequently used in React programming to output and alter data. As seen in this guide, it enables you to group HTML components with dynamic data together.

Without DOM queries, this would typically be hard to accomplish in a JavaScript app. Use component loops to produce sets of objects in a neat, effective, and legible way.

Moreover, you can adopt a team of developers for reliable web development with efficient debugging. The best option is to contact Bosc Tech to hire React developers for enterprise-level responsive web application development to boost productivity.

Top comments (3)

 
ecyrbe profile image
ecyrbe

The first performance for loop example is wrong.
I added a correct one:

const output = [];
for( let value of data) {
  output.push(value);
}
Enter fullscreen mode Exit fullscreen mode

Witch is faster than Map.
But i agree on the 2 other points.
Especially on the functionnal part .
We should use map to use declarative approach. It's easier to read, conveys intent, react paradigm is reactive and declarative programming. map is aligned with those paradigms.

Collapse
 
harshad_tweet profile image
Harshad Prajapati • Edited

Good job

I've noticed that you should update as correction

Your code:
items.pugsh(<element key="{index}">

Replace with:
items.push(<element key={index}>)

Collapse
 
ecyrbe profile image
ecyrbe • Edited

You should give guidance as to why one should not use the for approach.

It's good to have rules, it's better if everyone understand them.