Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React: react, key, index, state

Что произойдет, если использовать индекс массива в качестве ключа?

Этот вопрос выявляет понимание потенциальных проблем при использовании индекса массива как ключа в React.

Короткий ответ

Использование индекса массива как ключа может привести к ошибкам в отображении состояния компонентов при изменении порядка элементов (добавлении, удалении, сортировке). React может неправильно сопоставить элементы и их состояние.

Длинный ответ

Проблемы с индексом как ключом:

  • При добавлении или удалении элементов индексы меняются, и React может перепутать элементы.

  • Состояние компонента (например, ввод в поле) может "переехать" на другой элемент.

  • Производительность может снизиться, так как React будет перерисовывать больше элементов, чем нужно.

Пример:
Допустим, есть список дел. Если удалить первое дело, то у второго дела индекс станет 0, и React может сохранить состояние (например, текст) для первого дела, но применить его ко второму.

Когда можно использовать индекс:

  • Только если список статичен (элементы не меняют порядок).

  • Если у элементов нет идентификаторов и нет состояния.

Лучшая практика:
Всегда используйте уникальные ID из данных. Если их нет, создайте их на основе данных (например, хэш содержимого).

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • React

    React

Ключевые слова

#react

#key

#index

#state

Подпишись на React Developer в телеграм