Senior
18
Когда НЕ следует использовать индекс массива в качестве key в React?
Компании, где спрашивали
АйтиФаундейшн
Ответ от нейросети
sobes.tech AI
Использовать индекс массива в качестве ключа (key) в React не следует, когда порядок элементов может измениться, или когда элементы могут добавляться, удаляться или перемещаться. Это связано с тем, что React использует ключи для оптимизации повторного рендеринга, и если ключи — это просто индексы, то при изменении порядка элементов React может неправильно сопоставить компоненты, что приведёт к багам, например, к неправильному сохранению состояния компонентов.
Пример ситуаций, когда не стоит использовать индекс как ключ:
- Сортировка списка.
- Добавление или удаление элементов в середине массива.
- Динамическое обновление списка.
В таких случаях лучше использовать уникальные и стабильные идентификаторы, например, id из данных.
// Плохо:
items.map((item, index) => <Item key={index} data={item} />)
// Хорошо:
items.map(item => <Item key={item.id} data={item} />)