Клавиши помогают React определить, какие элементы были изменены, добавлены или удалены.Ключи должны быть даны элементам в массиве, чтобы дать элементам устойчивую идентичность:
const numbers = [1, 2, 3, 4, 5];
const listItems = numbers.map((number) =>
<li key={number.toString()}>
{number}
</li>
);
Лучший способ выбрать ключ - это использовать строку, которая однозначно идентифицирует элемент списка среди егобратья и сестры.Чаще всего вы использовали бы идентификаторы из ваших данных в качестве ключей:
const list = props.things.toDo.map(
function(thing) {
return(
<li key={thing.id}>{thing.name}</li>
);
}
);
Если у вас нет стабильных идентификаторов для визуализированных элементов, вы можете использовать индекс элемента в качестве ключа в качестве последнего средства:
const list = props.things.toDo.map(
function(thing, index) {
return(
<li key={index}>{thing.name}</li>
);
}
);
Мы не рекомендуем использовать индексы для ключей, если порядок элементов может измениться.Это может негативно повлиять на производительность и может вызвать проблемы с состоянием компонента.Если вы решите не назначать явный ключ элементам списка, React по умолчанию будет использовать индексы в качестве ключей.
Ссылка : https://reactjs.org/docs/lists-and-keys.html#keys