Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • React

    React

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

#react

#key

#index

#state

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию