Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про React: React, JSX, key, reconciliation, lists

Зачем нужны key в списках в JSX?

Проверяет понимание необходимости атрибута key при рендеринге списков в React для эффективного обновления DOM.

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

Атрибут key помогает React идентифицировать каждый элемент списка при обновлении. Без него React будет перерисовывать весь список, что снижает производительность. Key должен быть уникальным и стабильным, например, ID элемента. Использование индекса массива в качестве key может привести к ошибкам при изменении порядка элементов.

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

Зачем нужны key в списках в JSX?

При рендеринге списков в React каждый элемент должен иметь уникальный атрибут key. Это необходимо для механизма согласования (reconciliation), который React использует для эффективного обновления DOM. Без key React не может точно определить, какие элементы были изменены, добавлены или удалены, и будет вынужден перерисовывать весь список, что снижает производительность.

Как это работает?

Когда React обновляет список, он сравнивает текущее и новое состояние. Key позволяет React сопоставить элементы из старого и нового списка, минимизируя количество изменений в DOM. Например, если вы добавляете элемент в начало списка, React с key поймет, что остальные элементы остались на месте, и просто вставит новый. Без key он перерисует все элементы.

Пример кода

// Правильное использование key
const items = [{ id: 1, text: 'A' }, { id: 2, text: 'B' }];
const list = items.map(item => <li key={item.id}>{item.text}</li>);

// Неправильное использование key (индекс)
const listBad = items.map((item, index) => <li key={index}>{item.text}</li>);
// При изменении порядка или добавлении элементов в начало, индексы сбиваются, что может вызвать ошибки.

Вывод

Используйте уникальные и стабильные значения для key, такие как ID из базы данных. Избегайте использования индекса массива, если порядок элементов может меняться. Это обеспечит корректную работу React и высокую производительность приложения.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

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

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

Уровень

  • Рейтинг:

    5

  • Сложность:

    2

Навыки

  • React

    React

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

#React

#JSX

#key

#reconciliation

#lists

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

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

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