В React при рендере списков (например, через .map()
) каждому элементу необходимо передавать уникальный key
. Это помогает React оптимизировать перерисовку и правильно отслеживать изменения в списке.
React использует виртуальный DOM и при обновлении сравнивает новый список с предыдущим.
Без key
React не понимает, какие элементы изменились, удалились или добавились.
Это может привести к неожиданному поведению, например, сбросу состояния или неправильному рендеру.
const users = ["Alice", "Bob", "Charlie"];
function UserList() {
return (
<ul>
{users.map((user, index) => (
<li key={user}>{user}</li> // Хорошо, если `user` уникален
))}
</ul>
);
}
Если не указать
key
, React выдаст предупреждение: Warning: Each child in a list should have a unique "key" prop.
Кроме того, при изменении списка возможны проблемы с перерисовкой
{users.map((user, index) => (
<input key={index} defaultValue={user} />
))}
Ставь 👍 и забирай 📚 Базу знаний