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