Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: side effect, functional programming, React, useEffect, pure function

Что такое side effect?

Проверяет понимание побочных эффектов в функциональном программировании и их обработку в React.

Короткий ответ

Side effect (побочный эффект) — это любое изменение состояния или взаимодействие с внешним миром внутри функции, которое не связано напрямую с её возвращаемым значением. Примеры: запросы к API, работа с localStorage, изменение DOM. В React побочные эффекты обрабатываются с помощью хука useEffect, чтобы не нарушать чистоту рендеринга.

Длинный ответ

Что такое side effect?

Side effect (побочный эффект) — это любое действие функции, которое изменяет состояние вне её области видимости или взаимодействует с внешним миром. В функциональном программировании функции должны быть чистыми: они принимают аргументы и возвращают результат, не изменяя ничего снаружи. Побочные эффекты нарушают эту чистоту, поэтому их нужно контролировать.

Примеры побочных эффектов

  • Запросы к серверу (fetch, axios)
  • Изменение DOM напрямую
  • Работа с localStorage или cookies
  • Установка таймеров (setTimeout, setInterval)
  • Логирование в консоль

Побочные эффекты в React

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

import { useEffect, useState } from 'react';

function UserProfile({ userId }) {
  const [user, setUser] = useState(null);

  useEffect(() => {
    // Побочный эффект: запрос к API
    fetch(`/api/users/${userId}`)
      .then(res => res.json())
      .then(data => setUser(data));
  }, [userId]); // Зависимость: эффект перезапускается при изменении userId

  return <div>{user ? user.name : 'Loading...'}</div>;
}

Вывод

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    5

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

  • React

    React

Ключевые слова

#side effect

#functional programming

#React

#useEffect

#pure function

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию