How to add new div on button click in react js?

Hi Friends πŸ‘‹,

Welcome To aHoisting!

To add new div on button click in react js, you can use setDivs([...divs, <div key={divs.length}>New Div {divs.length + 1}</div>]);. It will add new div on button click in react js.

Today, I am going to show you, how to add new div on button click in react js.

Table of contents

  • Install and create a new React app.
  • Import react component.
  • Create a Component.

Let’s start with the first step.

Step 1: Install and create a new React app.

First you have to install the React project. You should use create-react-app command to create a new React project.

npx create-react-app my-app
cd my-app
npm start

Step 2: Import react component.

After installing, you have to import your React component.

import React, { useState } from "react"; 

Step 3: Create a Component.

You can use setDivs([...divs, <div key={divs.length}>New Div {divs.length + 1}</div>]); to add new div on button click in react js.

<div>
   <button onClick={addDiv}>Add Div</button>
      <div>
        {divs.map((div, index) => (
        <React.Fragment key={index}>{div}</React.Fragment>
    ))}
  </div>
</div>

Add new div on button click example.

The below code is an example of a React. You have to import react and set setDivs([...divs, <div key={divs.length}>New Div {divs.length + 1}</div>]); to add new div on button click in react js.

App.js

import React, { useState } from "react";

function App() {
  // Step 1: Set up state to hold an array of divs
  const [divs, setDivs] = useState([]);

  // Step 2: Handle button click to add a new div
  const addDiv = () => {
    setDivs([...divs, <div key={divs.length}>New Div {divs.length + 1}</div>]);
  };

  return (
    <div>
      <button onClick={addDiv}>Add Div</button>

      {/* Step 3: Render the divs */}
      <div>
        {divs.map((div, index) => (
          <React.Fragment key={index}>{div}</React.Fragment>
        ))}
      </div>
    </div>
  );
}

export default App;

In the above code example, I have used the setDivs([...divs, <div key={divs.length}>New Div {divs.length + 1}</div>]); to add new div on button click in react js.

Check the output of the above code.

React, add, new, div, on, button, click

All the best πŸ‘