Назад к вопросам
Middle
2
Можно ли использовать индекс массива как key в React? Почему не рекомендуется?
Компании, где спрашивали
Smitex
Ответ от нейросети
sobes.tech AI
Использовать индекс массива как key в React технически возможно, но не рекомендуется, особенно если порядок элементов может изменяться или элементы могут добавляться/удаляться.
Причины:
- React использует ключи для идентификации элементов при обновлении DOM. Если ключи нестабильны (например, индекс меняется при перестановке), React может неправильно сопоставить элементы, что приведёт к багам в UI.
- Использование индекса может привести к перерисовке компонентов, даже если данные не изменились, что снижает производительность.
Лучше использовать уникальные и стабильные идентификаторы из данных, например, id:
const items = [
{ id: 'a1', name: 'Item 1' },
{ id: 'b2', name: 'Item 2' },
];
items.map(item => <Item key={item.id} {...item} />)
Если уникальных id нет, можно рассмотреть генерацию уникальных ключей или использовать индекс только в случаях, когда список статичен и не изменяется.