• Как реакт хуки определяют к какому компоненту относятся?

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

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