Встречается на собеседованиях • сегодня

Может ли useState принять callback

Да, useState может принять callback, но это работает только для ленивой инициализации начального состояния. Callback выполнится один раз при первом рендере компонента.

jsx
const [state, setState] = useState(() => {
  // Вычисляем начальное состояние
  const initialState = someExpensiveCalculation();
  return initialState;
});

Важно:

  1. Callback выполняется только при инициализации
  2. Он должен быть синхронным и не принимать аргументов
  3. Если передать сам callback (без вызова), он будет воспринят как начальное значение

Не путайте с setState callback, который используется в классовых компонентах. В функциональных компонентах для подобных целей используют useEffect.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы