Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React: state, array

Как правильно хранить список элементов в состоянии компонента?

Вопрос проверяет понимание работы состояния и неизменяемости данных в React.

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

Список элементов обычно хранится в state в виде массива. При обновлении нельзя изменять массив напрямую, нужно создавать новый. Это позволяет React корректно определить изменения и обновить интерфейс. Для этого используют spread-оператор или методы, возвращающие новый массив.

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

В React важно соблюдать принцип неизменяемости состояния.

1) Хранение списка

Обычно используется массив:

const [items, setItems] = useState([]);

2) Почему нельзя изменять массив напрямую

Неправильно:

items.push(newItem);
setItems(items); // React может не заметить изменение

Проблемы:

  1. Ссылка на массив не меняется.

  2. React может пропустить обновление.

3) Правильный способ

Создание нового массива:

setItems([...items, newItem]);

Удаление:

setItems(items.filter(i => i.id !== id));

Обновление:

setItems(items.map(i =>
  i.id === id ? { ...i, name: "New" } : i
));

4) Почему это важно

  1. React сравнивает ссылки.

  2. Это ускоряет diffing.

  3. Код становится предсказуемым.

Вывод: список в React нужно хранить в state и обновлять через создание нового массива, чтобы React корректно определял изменения.

Уровень

  • Рейтинг:

    5

  • Сложность:

    5

Навыки

  • React

    React

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

#state

#array

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