Я пробовал React Hooks, и они, кажется, упрощают такие вещи, как сохранение состояния.Тем не менее, они, кажется, делают много вещей с помощью магии, и я не могу найти хорошую статью о том, как они на самом деле работают.
Первое, что кажется магическим, это то, как вызывать такую функцию, как useState ()вызывает повторный рендеринг вашего функционального компонента каждый раз, когда вы вызываете метод setXXX, который он возвращает?
Как что-то вроде useEffect () подделывает componentDidMount, когда функциональные компоненты даже не имеют возможности запускать код в Mount/ Unmount?
Как useContext () фактически получает доступ к контексту и как он вообще знает, какой компонент его вызывает?
И это даже не начинает охватывать всеСторонние хуки, которые уже появляются, как useDataLoader, который позволяет вам использовать следующее ...
const { data, error, loading, retry } = useDataLoader(getData, id)
Как данные, ошибки, загрузка и повторные попытки визуализируют ваш компонент при их изменении?
Извините, много вопросов, но я думаю, что большинство из них можно суммировать в одном вопросе:
Как работает функция b?Неужели хук фактически получает доступ к функциональному компоненту / компоненту без сохранения состояния, который его вызывает, чтобы он мог запоминать вещи между повторными визуализациями и инициировать повторную визуализацию с новыми данными?