Flat Preloader Icon

Rendering Lists

Rendering lists in React is a common task that can be accomplished using the .map() method to iterate over an array and return a component for each item in the array. Here’s a step-by-step guide to rendering lists in React:

Step 1: Setup Your React App

First, ensure you have a React app set up. If not, you can create one using Create React App:
				
					npx create-react-app my-app
cd my-app
npm start

				
			

Step 2: Create a Component to Render the List

Create a new component, or use an existing one, where you want to render your list.

Step 3: Define the List Data

You can define the list data either in the state or as a static array. Here’s an example with a static array:
				
					const items = [
  { id: 1, name: 'Item 1' },
  { id: 2, name: 'Item 2' },
  { id: 3, name: 'Item 3' },
];

				
			

Step 4: Use the map() Method to Render the List

Use the .map() method to iterate over the array and return a JSX element for each item. Ensure each item has a unique key prop to help React identify which items have changed.

Here’s a complete example:

				
					import React from 'react';

const ItemList = () => {
  const items = [
    { id: 1, name: 'Item 1' },
    { id: 2, name: 'Item 2' },
    { id: 3, name: 'Item 3' },
  ];

  return (
    <ul>
      {items.map(item => (
        <li key={item.id}>{item.name}</li>
      ))}
    </ul>
  );
};

export default ItemList;

				
			

Step 5: Use the Component in Your App

Include the ItemList component in your main app or another component to render the list:
				
					import React from 'react';
import ItemList from './ItemList';

const App = () => {
  return (
    <div>
      <h1>My List</h1>
      <ItemList />
    </div>
  );
};

export default App;

				
			

Example with State

If your list data is dynamic and managed in the state, you can use the following approach:
				
					import React, { useState } from 'react';

const ItemList = () => {
  const [items, setItems] = useState([
    { id: 1, name: 'Item 1' },
    { id: 2, name: 'Item 2' },
    { id: 3, name: 'Item 3' },
  ]);

  return (
    <ul>
      {items.map(item => (
        <li key={item.id}>{item.name}</li>
      ))}
    </ul>
  );
};

export default ItemList;

				
			

Adding Items to the List

You can add functionality to add new items to the list by updating the state:
				
					import React, { useState } from 'react';

const ItemList = () => {
  const [items, setItems] = useState([
    { id: 1, name: 'Item 1' },
    { id: 2, name: 'Item 2' },
    { id: 3, name: 'Item 3' },
  ]);

  const addItem = () => {
    const newItem = { id: items.length + 1, name: `Item ${items.length + 1}` };
    setItems([...items, newItem]);
  };

  return (
    <div>
      <ul>
        {items.map(item => (
          <li key={item.id}>{item.name}</li>
        ))}
      </ul>
      <button onClick={addItem}>Add Item</button>
    </div>
  );
};

export default ItemList;