При выборе между объявлением функции и функциональным выражением помните, что первые записываются в память, а вторые — нет. Другими словами, вы можете вызвать функцию до того, как объявите ее, но не можете вызвать функцию, созданную с помощью функционального выражения, так как это вызовет ошибку.
енные ранее в этой главе примеры кода были синхронными — содержали список инструкций, которые выполняются по порядку. Например, чтобы использовать JavaScript для обработки простых манипуляций с DOM, мы напишем:
Это инструкции. «Эй, выбери-ка вон тот элемент с идентификатором heading. А как справишься с этим, запиши-ка приветствие в его innerHTML». Код работает синхронно. Пока происходит одна операция, остальной код ждет.
Но в современном интернете необходимо выполнять асинхронные задачи. Для этого часто приходится ждать завершения некоторой работы. Нам может потребоваться доступ к базе данных, потоковая передача видео- или аудиоконтента или данные из API. В JavaScript асинхронные задачи не блокируют основной поток, позволяя коду делать что-то еще, пока он ждет данные от API. За послед
енные ранее в этой главе примеры кода были синхронными — содержали список инструкций, которые выполняются по порядку. Например, чтобы использовать JavaScript для обработки простых манипуляций с DOM, мы напишем:
Это инструкции. «Эй, выбери-ка вон тот элемент с идентификатором heading. А как справишься с этим, запиши-ка приветствие в его innerHTML». Код работает синхронно. Пока происходит одна операция, остальной код ждет.
Но в современном интернете необходимо выполнять асинхронные задачи. Для этого часто приходится ждать завершения некоторой работы. Нам может потребоваться доступ к базе данных, потоковая передача видео- или аудиоконтента или данные из API. В JavaScript асинхронные задачи не блокируют основной поток, позволяя коду делать что-то еще, пока он ждет данные от API. За последние
Чистые функции пригодны для тестирования Чистые функции по своей природе пригодны длятестирования. Они ничего не меняют в своем окружении и, следовательно, не требуют сложной настройки тестирования или обособления. Все, что чистой функции нужно для работы, она получает через аргументы. При тестировании чистой функции вы контролируете аргументы и можете с уверенностью оценить результат.
Поскольку в массиве нет зависимостей, эффект вызывается в момент начального рендеринга. Отсутствие зависимостей означает отсутствие изменений, поэтому больше эффект вызываться не будет
Помните наши дорогие обновления DOM, которые блокировали основной поток? Эта блокировка обновлений и называлась работой — но с Fiber React разделяет работу на более мелкие единицы, называемые волокнами. Волокно (fiber) — это объект JavaScript, который следит за тем, что он согласовывает и где находится в цикле обновления.
Когда происходит изменение, React создает копию дерева компонентов как объект JavaScript. Затем он ищет части дерева, которые нужно изменить, и изменяет только их.