Sobes.tech
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} />)