Вступить в клуб →
лёгкаявопросReact и управление состоянием

Индекс массива в качестве ключа списка и удаление строки

Реестр задач рендерится так:

{tasks.map((task, index) => (
  <TaskRow key={index} task={task} />
))}

В каждой строке есть неуправляемое поле для комментария. Пользователь пишет комментарий в третьей строке, а затем удаляет первую задачу. Что произойдёт?

  • Ничего необычного: индекс уникален внутри списка, а значит подходит на роль ключа не хуже идентификатора записи.
  • Введённый текст окажется не в той строке: после удаления индексы сдвинулись, и состояние строк съехало вместе с ними.
  • Все поля просто очистятся: список целиком пересоздаётся при любом изменении массива.
  • Появится предупреждение о дублирующихся ключах, и список не обновится до перезагрузки страницы.

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела