так а хуки всё таки хранятся в самом объекте компонента? я правильно понимаю что по сути внутри функции у нас свой this который и бужет объектом компонента?
Они хранятся внутри балалайки, которая превращает компоненты в виртуальный дом. Там кэши, ассоциированные с конкретными нодами, там обход и проверка. Точно не скажу за кусок кода — не копал. Никакого this у функций-компонентов нет (обычно)