Вопрос проверяет понимание разницы между декларативным побочным эффектом в React (useEffect) и императивным обработчиком события, а также когда какой подход применять.
В React побочные эффекты можно выполнять двумя основными способами: через useEffect (декларативно) и через обработчики событий (императивно). Понимание разницы критично для правильного управления состоянием и производительностью.
onClick) вызывается синхронно в момент действия пользователя, до следующего рендера.import { useState, useEffect } from 'react';
function Example() {
const [count, setCount] = useState(0);
// useEffect: выполняется после рендера, когда count изменился
useEffect(() => {
console.log('Count changed to', count);
// Здесь можно делать запрос к API
}, [count]);
// Обработчик: вызывается сразу при клике
const handleClick = () => {
console.log('Button clicked, current count:', count);
setCount(count + 1);
};
return <button onClick={handleClick}>Click me</button>;
}Вывод: Используйте useEffect для декларативных побочных эффектов, которые должны происходить после рендера, и обработчики событий для императивных действий, требующих мгновенного отклика.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию