Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Специализация

Python Backend Developer

Java Backend Developer

Node.js Backend Developer

Golang Backend Developer

React Frontend Developer

Посмотреть все

Выберите навыки

React

React

JavaScript

JavaScript

Git

Git

Redux

Redux

Webpack

Webpack

Посмотреть все

Сложность

1-3

4-6

7-8

9-10

Рейтинг вопросов

1

2

3

4

5

Подпишись на React Developer в телеграм

Вопросы React Frontend Developer


Как правильно использовать useEffect для различных ситуаций?

Хук useEffect используется для выполнения побочных эффектов в функциональных компонентах, таких как запросы к API, подписки или манипуляции с DOM. Он принимает два аргумента: функцию обратного вызова и массив зависимостей. Массив определяет, когда эффект должен быть запущен, например, при первом рендеринге или при изменении определенных переменных. Для очистки эффектов можно вернуть функцию из хука.

Подробнее

Какие особенности имеют хуки useEffect и useLayoutEffect?

useEffect выполняется асинхронно после рендеринга, что позволяет обновлять DOM без блокировки отображения. useLayoutEffect, напротив, выполняется синхронно сразу после изменения DOM и перед его отображением, что позволяет производить измерения или манипуляции с элементами. Это может быть полезно, когда необходимо сразу же реагировать на изменения и избежать мерцания интерфейса.

Подробнее

Если в useEffect сделать долгий fetch (например, на минуту), заблокирует ли это выполнение JS и интерфейс браузера? Почему он не ждёт ответа?

Нет, долгий fetch не заблокирует интерфейс, потому что он выполняется асинхронно. JavaScript не "ждёт" ответа — запрос отправляется в фоне, а основной поток продолжает работать.

Подробнее

Как useEffect заменяет методы жизненного цикла? Что происходит при пустом массиве зависимостей?

useEffect объединяет логику componentDidMount, componentDidUpdate и componentWillUnmount. Пустой массив зависимостей ([]) означает, что эффект запустится только при монтировании и очистится при размонтировании.

Подробнее

Как работает массив зависимостей в useEffect?

Массив зависимостей определяет, при каких изменениях эффект будет выполнен повторно. React сравнивает значения зависимостей между рендерами. Если хотя бы одно значение изменилось, эффект перезапускается. Сравнение происходит по ссылке. Правильное указание зависимостей критично для корректной работы приложения.

Подробнее

Что произойдёт, если не передать массив зависимостей в useEffect?

Почему useLayoutEffect может блокировать рендер?

Зачем нужен useEffect?

Когда useEffect вызывается один раз?

В каком порядке выполняются render, useLayoutEffect и useEffect?

  • Рейтинг:

    5

  • Сложность:

    5

Если не передать массив зависимостей, эффект будет выполняться после каждого рендера. Это включает как первый рендер, так и все последующие обновления. Такое поведение часто приводит к лишним операциям. В некоторых случаях это может вызвать бесконечный цикл. Использовать эффект без зависимостей нужно очень осторожно.

Подробнее
  • Рейтинг:

    4

  • Сложность:

    7

useLayoutEffect выполняется синхронно после изменения DOM, но до того, как браузер выполнит отрисовку. Пока код внутри эффекта не завершится, браузер не может показать обновлённый интерфейс. Если эффект содержит тяжёлые вычисления, рендер визуально «зависает». Именно поэтому неправильное использование useLayoutEffect может ухудшать производительность. Этот хук требует особой осторожности.

Подробнее
  • Рейтинг:

    5

  • Сложность:

    4

useEffect нужен для выполнения побочных эффектов в функциональных компонентах. Он используется для работы с внешними системами: API, таймерами, подписками, DOM. useEffect выполняется после рендера компонента. С помощью массива зависимостей можно контролировать, когда эффект должен запускаться.

Подробнее
  • Рейтинг:

    5

  • Сложность:

    4

useEffect вызывается один раз, если ему передан пустой массив зависимостей []. В этом случае эффект выполняется после первого рендера компонента. Это поведение эквивалентно componentDidMount в классовых компонентах. Однако в StrictMode в режиме разработки эффект может вызываться дважды.

Подробнее
  • Рейтинг:

    5

  • Сложность:

    7

Сначала React выполняет render, затем на этапе коммита вызывается useLayoutEffect, и только после отрисовки браузером вызывается useEffect. useLayoutEffect выполняется синхронно и блокирует отрисовку, а useEffect — асинхронно, после paint. Поэтому useLayoutEffect используют для работы с layout, а useEffect — для побочных эффектов, не влияющих на разметку.

Подробнее
  • Рейтинг:

    4

  • Сложность:

    5

  • Рейтинг:

    4

  • Сложность:

    6

  • Рейтинг:

    3

  • Сложность:

    9

  • Рейтинг:

    3

  • Сложность:

    8

  • Рейтинг:

    5

  • Сложность:

    7