Contents of React Interview Questions

Comprehensive collection of React interview questions and answers covering hooks, components, state management, and best practices.

What is the 'Key' Prop in React and Why it Matters

In React, the key prop is a special attribute that you must include when creating lists of elements. A key is a unique identifier for each element in a list and helps React optimize the rendering process.

Why is the key important?

React uses the key to identify which items have changed, been added, or removed. Instead of re-rendering the entire list every time, React can quickly figure out which specific elements need updates. This makes updates faster and the application more efficient.

Without a proper key, React would have to re-render every item in the list, which can lead to performance issues and unexpected bugs, especially when the UI grows larger.


Key Points:

  • Uniqueness: Each key must be unique among its siblings.
  • Stable Identity: A key should not change between renders if the underlying data doesn’t change.
  • Avoid Index as Key (when possible): Using the array index as a key is discouraged, especially when the list can change, because it can cause incorrect behavior during updates.

Example:

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> // 'id' used as a unique key ))} </ul> ); }

In the above example:

  • user.id is used as a unique key for each list item.
  • This helps React efficiently update only the changed items when needed.

What happens if you don't provide a key?

If you don't provide a key (or provide a non-unique key), React will show a warning in the console:

"Warning: Each child in a list should have a unique 'key' prop."

This means React can't track elements properly, potentially leading to poor performance and bugs in the UI.


Best Practices for Keys:

  • Prefer unique IDs from your data as keys.
  • Avoid using indexes as keys if the list can be reordered, added to, or deleted from.
  • Keys only need to be unique among siblings, not globally unique.