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

Два вызова обновления счётчика подряд и вывод в консоль

const [count, setCount] = useState(0);

function handleClick() {
  setCount(count + 1);
  setCount(count + 1);
  console.log(count);
}

На момент клика count равен 5, пользователь нажал кнопку один раз. Что попадёт в консоль и каким станет count после перерисовки?

  • В консоли 7, состояние станет 7: обновление применяется сразу, поэтому второй вызов работает с уже увеличенным значением.
  • В консоли 6, состояние станет 6: первый вызов обновляет переменную сразу, а второй получает то же значение и ничего не добавляет.
  • В консоли 5, состояние станет 7: React складывает оба вызова обновления перед перерисовкой и прибавляет по единице за каждый.
  • В консоли 5, состояние станет 6: внутри текущего рендера count — фиксированное значение, поэтому оба вызова посчитали одно и то же.

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

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

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

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