Во-первых, хранит Map где ключи - это компоненты, а значения - их состояния
Во-вторых, хранит шаренную ссылку на текущее состояние:
https://github.com/facebook/react/blob/main/packag...
Ну и вероятно, есть стэк состояний (по их исходникам глубоко не копал, но я бы сделал это именно так)
Перед вызовом функции-компонента, отправляем текущее состояние в стэк, на его место достаем из Map состояние для нужного компонента, запускаем функцию-компонент, по выходу восстанавливаем из стека состояние для родительского компонента.
При запуске хука - просто получаем текущее состояние и работаем с ним:
https://github.com/facebook/react/blob/main/packag...