Пойдя по пути
import { useState } from 'react'
, чтобы понять логику его работы, я забрел в тупик
Подскажите, каким образом тут происходит инициализация хука и как дойти до места реализации непосредственно самого хука?
У нас есть ReactCurrentDispatcher, который возвращает объект со свойством current значение которого
null
var ReactCurrentDispatcher = {
current: null
};
Здесь мы
dispatcher
присваиваем значение
null
function resolveDispatcher() {
var dispatcher = ReactCurrentDispatcher.current;
{
if (dispatcher === null) {
error('Invalid hook call. problem.');
}
}
return dispatcher;
}
Каким образом у нас тогда проходится проверка
if (dispatcher === null)
и в
useState
мы передаем уже якобы какой-то мифический объект?
function useState(initialState) {
var dispatcher = resolveDispatcher();
return dispatcher.useState(initialState);
}