useRef, useState, useEffect и подобные hooks должны вызываться в одинаковом порядке при каждом рендере компонента. Условный return может этот порядок нарушить.
Почему useRef и другие хуки нельзя располагать после условного return или вызывать условно?
useRef, useState, useEffect и подобные hooks должны вызываться в одинаковом порядке при каждом рендере компонента. Условный return может этот порядок нарушить.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
useRef, useState, useEffect и подобные hooks должны вызываться в одинаковом порядке при каждом рендере компонента. Условный return может этот порядок нарушить.
React связывает внутренние состояния с последовательностью вызовов. Если часть hooks пропустить, следующие вызовы перестанут соответствовать прежним позициям. Размещайте их до условных выходов либо выносите ветку в отдельный компонент. Специальный API use имеет отдельные правила и не отменяет ограничения для обычных hooks.