Вопрос проверяет понимание обновления состояния и работы функции-обновителя.
Чтобы получить предыдущее состояние, в setState или setCount передают функцию. Эта функция принимает предыдущее значение состояния. Такой способ гарантирует корректное обновление, особенно при нескольких вызовах подряд. Это стандартная практика в React.
React может выполнять обновления состояния асинхронно, поэтому прямое использование старого значения иногда приводит к ошибкам.
Определение:
Функция-обновитель (updater function) — это функция, которая принимает предыдущее состояние и возвращает новое.
Пример
const [count, setCount] = useState(0);
setCount(prev => prev + 1);
Почему это важно
Обновления могут объединяться.
Значение state может устареть.
Функция гарантирует актуальное значение.
Пример ошибки
setCount(count + 1);
setCount(count + 1);
Оба вызова могут использовать одно и то же значение.
Функция-обновитель — это надежный способ работать с предыдущим состоянием и избегать ошибок при асинхронных обновлениях.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию