Episode 15 of 32

useEffect Dependencies

Control when your useEffect runs using the dependency array.

The dependency array controls when useEffect fires.

Dependency Array

// Runs on every render
useEffect(() => { console.log("every render"); });

// Runs only once (on mount)
useEffect(() => { console.log("once"); }, []);

// Runs when name changes
useEffect(() => {
  console.log("name changed:", name);
}, [name]);

Rules

  • No array — runs after every render
  • Empty array [] — runs only on mount
  • [dep1, dep2] — runs when listed dependencies change

Always include all values from the component scope that change over time and are used inside the effect.