Но я сколько читал, не понял. Пока просто не пришло понимание 😂 что хук выполняется если переменная меняется. Можно передать массив переменных зависимых
И лучше бы оно не приходило, потому что это не верно. Иллюзия )
Хук выполняется, когда компонент рендерится, нет там магии никакой... при выполнении хук, может кешировать предидущий результат, как и любая ф-ция. Хук (всего несколько core хуков) так же имеют доступ к приватным кишкам реакта и могут с ними взаимодействовать, к примеру setState может запланировать ререндер компонента.