How to handle “Warning: Each child in a list should have a unique key prop” error?

CodeChronicle
2 min readJan 30, 2024

--

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

The “Warning: Each child in a list should have a unique key prop” error in React occurs when you are rendering a list of elements without providing a unique key prop for each element in the list. React uses keys to efficiently update the DOM and keep track of which components are added, modified, or removed.

To resolve this warning, make sure that each element in your list has a unique key prop assigned. The key prop should be a string or a number and should be unique among siblings. Here's an example of how you can add a key prop to a list of elements in React:

import React from 'react';

const MyComponent = () => {
const data = [
{ id: 1, text: 'Item 1' },
{ id: 2, text: 'Item 2' },
{ id: 3, text: 'Item 3' },
];

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

export default MyComponent;

In this example, each item in the data array has a unique id property, which is used as the key prop for the corresponding <li> element. This ensures that each element in the list has a unique identifier, and React can efficiently manage updates to the list without warnings.

Here, the key prop is set to the id property of each item in the data array. It's important to note that the key prop should be unique within the context of the list. Using unique identifiers like id is a common practice, but you can also use other unique values if applicable.

If your data doesn’t have a natural unique identifier, you can use the index of the array as a last resort. However, it’s generally recommended to use a stable unique identifier, as using the index might lead to unexpected behavior if the order of the list changes.

import React from 'react';

const MyComponent = () => {
const data = ['Item 1', 'Item 2', 'Item 3'];

return (
<ul>
{data.map((item, index) => (
<li key={index}>{item}</li>
))}
</ul>
);
};

export default MyComponent;

Remember, the key prop is used by React to optimize the rendering process and to efficiently update the DOM. Providing unique keys helps React identify which items have changed, been added, or been removed when the list is updated.

If you want to read more about ReactJS then start reading some of recent articles.

--

--

CodeChronicle

Exploring the digital frontier one byte at a time. Tech writer weaving tales of innovation, decoding the algorithms. 🚀✍️ #TechWordsmith #InnovationExplorer