Useeffect in react
useEffect handles side effects (API calls, subscriptions, manual DOM changes). It runs after render. Dependencies control when it re-runs. Returning a function from useEffect acts as a cleanup (componentWillUnmount).
Example
useEffect(() => {
const id = setInterval(() => tick(), 1000);
return () => clearInterval(id); // Cleanup
}, []); // Runs only on mount