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

Можно ли внутри hook использовать другие hooks

Да, можно, но с важными ограничениями:

  1. Hooks можно вызывать только на верхнем уровне компонента или другого хука (не внутри условий, циклов или вложенных функций)
  2. Порядок вызовов хуков должен быть одинаковым при каждом рендере

Пример корректного использования:

jsx
function useCustomHook() {
  const [state, setState] = useState(null);
  const memoizedValue = useMemo(() => computeExpensiveValue(state), [state]);
  
  useEffect(() => {
    // side effects
  }, [state]);

  return memoizedValue;
}

Некорректный пример (вызов в условии):

jsx
if (condition) {
  useEffect(() => {...}); // ❌ Нарушает правила хуков
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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