DEV Community

Cover image for Day 8: Lists and Keys in React
Dhaval Patel
Dhaval Patel

Posted on

Day 8: Lists and Keys in React

Introduction
Welcome back to Day 8 of our 30-day blog series on React.js! Today, we'll delve into working with lists and keys in React. Lists are a common feature in web development, and React provides powerful tools for efficiently rendering lists of data.

Rendering Lists in React
In React, we can render lists of elements by using the map() method to iterate over an array of data and return a list of React elements.

function TodoList({ todos }) {
  return (
    <ul>
      {todos.map(todo => (
        <li key={todo.id}>{todo.text}</li>
      ))}
    </ul>
  );
}

Enter fullscreen mode Exit fullscreen mode
  • The TodoListcomponent renders an unordered list (<ul>) containing list items (<li>).

  • The map() method is used to iterate over the todosarray and return a list item for each todo.

  • Each list item has a unique key prop set to the id of the todo item to help React identify which items have changed, added, or removed.

The Importance of Keys
Keys are essential when rendering lists in React. They help React identify which items have changed, added, or removed. Keys should be unique among siblings but can be reused across different lists if the items are independent.

Extracting Components with Keys
Sometimes, it's beneficial to extract list items into separate components, especially if each item requires more complex rendering or behavior.

function TodoItem({ todo }) {
  return <li>{todo.text}</li>;
}

function TodoList({ todos }) {
  return (
    <ul>
      {todos.map(todo => (
        <TodoItem key={todo.id} todo={todo} />
      ))}
    </ul>
  );
}

Enter fullscreen mode Exit fullscreen mode

In the above example, the TodoItem component is responsible for rendering each todo item, while the TodoList component is responsible for rendering the list of todos.

Lists are a fundamental aspect of web development, and React provides powerful tools for efficiently rendering lists of data. By leveraging the map() method and keys, we can create dynamic and responsive lists in React applications.

Stay tuned for tomorrow's post, where we'll explore forms in React and how to handle user input and form submission effectively.

Top comments (0)