Ответ
Side effects (побочные эффекты) — это любые изменения состояния вне функции или взаимодействие с внешним миром. В React к ним относятся:
- Запросы к API (
fetch,axios) - Подписки (
setInterval,addEventListener) - Прямые манипуляции с DOM (
document.title) - Логирование (
console.log) - Глобальные изменения (
localStorage,Redux dispatch)
В React хуке useEffect такие операции выполняются после рендера:
useEffect(() => {
const timer = setInterval(() => {
console.log('Tick');
}, 1000);
return () => clearInterval(timer); // cleanup
}, []);Чистые функции не имеют side effects — их результат зависит только от входных данных.