no-duplicate-key
Full Name in eslint-plugin-react-x
react-x/no-duplicate-key
Full Name in @eslint-react/eslint-plugin
@eslint-react/no-duplicate-key
Features
🔍
Presets
core
recommended
recommended-typescript
recommended-type-checked
What it does
Prevents duplicate key
on elements in the same array or a list of children
.
React uses keys to identify elements in an array. If two elements have the same key, React will not be able to distinguish them. This can lead to issues with state and rendering.
Examples
Failing
import React from 'react';
function MyComponent () {
return [
<li key="1">Item 1</li>
<li key="1">Item 2</li>
// ^^^^^^^
// - A key must be unique. 'key="1"' is duplicated.
]
};
import React from "react";
function MyComponent() {
return (
<ul>
<li key="1">Item 1</li>
<li key="1">Item 2</li>
{/* ^^^^^^^ */}
{/* - A key must be unique. 'key="1"' is duplicated. */}
</ul>
);
}
import React from "react";
function MyComponent() {
return <ul>{["a", "b"].map((id) => <li key="1">{id}</li>)}</ul>;
// ^^^^^^^
// - A key must be unique. 'key="1"' is duplicated.
}
Passing
import React from 'react';
function MyComponent () {
return [
<li key="1">Item 1</li>
<li key="2">Item 2</li>
]
};
import React from "react";
function MyComponent() {
return (
<ul>
<li key="1">Item 1</li>
<li key="2">Item 2</li>
</ul>
);
}
import React from "react";
function MyComponent() {
return <ul>{["a", "b"].map((id) => <li key={id}>{id}</li>)}</ul>;
}