DEV Community

Md Yusuf
Md Yusuf

Posted on

React Lists and Keys

In React, lists and keys are essential concepts for rendering collections of elements efficiently and maintaining their identity across re-renders. Here’s a concise overview:

Lists

When you need to render multiple items, you typically map over an array to create a list of components. Here's a basic example:

const fruits = ['Apple', 'Banana', 'Cherry'];

function FruitList() {
  return (
    <ul>
      {fruits.map((fruit) => (
        <li key={fruit}>{fruit}</li>
      ))}
    </ul>
  );
}
Enter fullscreen mode Exit fullscreen mode

Keys

Keys help React identify which items have changed, been added, or removed. They should be unique among siblings but do not need to be globally unique. Keys should be stable, meaning they should not change between renders. A common practice is to use a unique identifier from your data, such as an ID:

const users = [
  { id: 1, name: 'Alice' },
  { id: 2, name: 'Bob' },
  { id: 3, name: 'Charlie' },
];

function UserList() {
  return (
    <ul>
      {users.map((user) => (
        <li key={user.id}>{user.name}</li>
      ))}
    </ul>
  );
}
Enter fullscreen mode Exit fullscreen mode

Best Practices

  • Use unique IDs: If your data has a unique identifier, always use it as the key.
  • Avoid using array indexes: Using indexes as keys can lead to issues with component state and performance during re-renders, especially if the list can change.
  • Keep keys consistent: If you reorder or filter a list, make sure the keys remain the same to prevent unnecessary re-renders.

By following these guidelines, you can create efficient, dynamic lists in your React applications!

SurveyJS custom survey software

Simplify data collection in your JS app with a fully integrated form management platform. Includes support for custom question types, skip logic, integrated CCS editor, PDF export, real-time analytics & more. Integrates with any backend system, giving you full control over your data and no user limits.

Learn more

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more