</> Praktum

Главная / React / lists and keys

Справочник React

Списки React: map и стабильный key

Список компонентов обычно создаётся через map. Каждый соседний элемент должен иметь стабильный key, чтобы React правильно сопоставлял старые и новые узлы.

Рабочий пример

function LessonList({ lessons }) {
  return (
    <ul>
      {lessons.map((lesson) => (
        <LessonItem key={lesson.id} lesson={lesson} />
      ))}
    </ul>
  );
}

key нужен React и не передаётся компоненту как обычный prop. Идентификатор должен происходить из данных и сохраняться при сортировке и удалении.

Когда применять

Индекс допустим только для действительно неизменяемого списка без состояния внутри строк. Генерировать Math.random во время рендера нельзя: ключ будет новым каждый раз.

Проверь пример самостоятельно: измени исходные данные, убери одну строку и сравни результат. Такой короткий эксперимент помогает увидеть роль каждого свойства или метода и не превращает обучение в механическое копирование.

Частые ошибки

  • Использовать индекс в изменяемом списке
  • Создавать случайный key
  • Пытаться прочитать props.key внутри компонента

Задание

Выведи список задач с удалением и сортировкой, используя постоянный id.

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

Ещё в разделе React