Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: React, useState, initial state, array initialization

Как правильно инициализировать состояние массива в useState?

Проверяет знание правильной инициализации массива в хуке useState React.

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

Для инициализации массива в useState передайте массив как начальное значение: const [items, setItems] = useState([]). Если массив должен быть пустым, используйте пустой массив []. Для предзаполненного массива передайте его напрямую: useState([1, 2, 3]). Избегайте передачи функции, возвращающей массив, если только не требуется ленивая инициализация.

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

Инициализация массива в useState

В React хук useState позволяет хранить состояние компонента. Для массива начальное значение передается как аргумент. Простейший случай — пустой массив: useState([]). Если массив должен содержать данные, передайте его напрямую: useState([1, 2, 3]).

Ленивая инициализация

Если начальное состояние требует сложных вычислений, используйте функцию-инициализатор: useState(() => computeInitialArray()). Это гарантирует, что вычисление выполнится только один раз при первом рендере.

Пример кода

import React, { useState } from 'react';

function TodoList() {
  const [todos, setTodos] = useState([]); // пустой массив
  const [initialTodos] = useState(() => {
    // ленивая инициализация
    return ['Learn React', 'Build project'];
  });

  const addTodo = (text) => {
    setTodos([...todos, text]); // добавление элемента
  };

  return (
    <div>
      <ul>
        {todos.map((todo, index) => (
          <li key={index}>{todo}</li>
        ))}
      </ul>
      <button onClick={() => addTodo('New task')}>Add</button>
    </div>
  );
}

Важные моменты

  • Не изменяйте массив напрямую (push, splice) — используйте методы, возвращающие новый массив (spread, concat, filter, map).
  • Для обновления состояния всегда передавайте новое значение или функцию, возвращающую новое значение.
  • При работе с объектами в массиве создавайте копии объектов при изменении.

Вывод: правильная инициализация массива в useState — это передача начального значения (пустого или заполненного) или функции для ленивой инициализации. Это основа работы с коллекциями данных в React.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

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

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

Уровень

  • Рейтинг:

    4

  • Сложность:

    2

Навыки

  • JavaScript

    JavaScript

  • React

    React

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

#React

#useState

#initial state

#array initialization

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

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

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