Sobes.tech
Back to questions
Middle
11

Для чего нужен атрибут key при рендере списков? Можно ли использовать индекс массива как ключ?

Companies where asked
нейровэд

Answer from AI

sobes.tech AI

Атрибут key в React используется для уникальной идентификации элементов списка при их рендеринге. Это помогает React эффективно обновлять и перестраивать DOM, минимизируя количество операций и сохраняя состояние компонентов.

Использование индекса массива в качестве ключа возможно, но не рекомендуется, особенно если порядок элементов может изменяться или элементы могут добавляться/удаляться. В таких случаях это может привести к неправильному сопоставлению элементов и багам в UI.

Лучше использовать уникальные и стабильные идентификаторы, например, ID из данных:

const list = [{id: 'a1', name: 'Item 1'}, {id: 'b2', name: 'Item 2'}];

return (
  <ul>
    {list.map(item => (
      <li key={item.id}>{item.name}</li>
    ))}
  </ul>
);