Bird
Raised Fist0
Reactframework~5 mins

Dependency array usage in React - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the purpose of the dependency array in React's useEffect hook?
The dependency array tells React when to run the effect. React runs the effect only if one of the dependencies has changed since the last render.
Click to reveal answer
beginner
What happens if you pass an empty dependency array ([]) to useEffect?
The effect runs only once after the first render, similar to componentDidMount in class components.
Click to reveal answer
beginner
What is the effect of omitting the dependency array in useEffect?
The effect runs after every render, which can cause performance issues or unwanted repeated actions.
Click to reveal answer
intermediate
Why should you include all variables used inside useEffect in its dependency array?
Including all variables ensures the effect updates correctly when those variables change, preventing bugs and stale data.
Click to reveal answer
intermediate
What can happen if you incorrectly specify dependencies in the dependency array?
The effect might not run when it should, or it might run too often, causing bugs or performance problems.
Click to reveal answer
What does an empty dependency array in useEffect mean?
ARun effect after every render
BRun effect only once after first render
CRun effect only when dependencies change
DNever run the effect
If you omit the dependency array in useEffect, when does the effect run?
AAfter every render
BOnly when dependencies change
COnly once after first render
DNever
Which of these should be included in the dependency array?
AOnly state variables
BOnly props
CAll variables used inside the effect
DNo variables
What problem can occur if dependencies are missing in the array?
ANo problem
BEffect never runs
CEffect runs too often
DEffect uses stale data
How can you avoid infinite loops with useEffect?
AInclude all dependencies correctly
BNever use useEffect
CUse empty dependency array always
DCall setState inside useEffect without dependencies
Explain how the dependency array controls when useEffect runs in React.
Think about when React decides to run your effect based on the array.
You got /3 concepts.
    Describe common mistakes with dependency arrays and how to avoid them.
    Consider what happens if you forget to list variables or list wrong ones.
    You got /3 concepts.

      Practice

      (1/5)
      1. What does an empty dependency array [] in a useEffect hook mean?
      easy
      A. The effect runs only when a state changes.
      B. The effect runs after every render.
      C. The effect never runs.
      D. The effect runs only once after the first render.

      Solution

      1. Step 1: Understand the role of dependency array

        The dependency array tells React when to run the effect based on changes in listed variables.
      2. Step 2: Interpret empty array meaning

        An empty array means no variables to watch, so React runs the effect only once after the first render.
      3. Final Answer:

        The effect runs only once after the first render. -> Option D
      4. Quick Check:

        Empty array = run once [OK]
      Hint: Empty array means run effect once after mount [OK]
      Common Mistakes:
      • Thinking empty array runs effect every render
      • Confusing empty array with no array
      • Assuming effect never runs with empty array
      2. Which of the following is the correct syntax for a useEffect hook that runs only once after the component mounts?
      easy
      A. useEffect(() => { console.log('Hello'); });
      B. useEffect(() => { console.log('Hello'); }, []);
      C. useEffect(() => { console.log('Hello'); }, [{}]);
      D. useEffect(() => { console.log('Hello'); }, [() => {}]);

      Solution

      1. Step 1: Identify correct useEffect syntax

        The second argument is the dependency array controlling when the effect runs.
      2. Step 2: Check which option uses empty array

        useEffect(() => { console.log('Hello'); }, []); uses an empty array, so effect runs once after mount, which is correct.
      3. Final Answer:

        useEffect(() => { console.log('Hello'); }, []); -> Option B
      4. Quick Check:

        Empty array syntax = useEffect(() => { console.log('Hello'); }, []); [OK]
      Hint: Empty array in second argument runs effect once [OK]
      Common Mistakes:
      • Omitting dependency array runs effect every render
      • Using non-constant values in dependency array incorrectly
      • Confusing dependency array with effect callback
      3. Consider this code:
      const [count, setCount] = useState(0);
      useEffect(() => {
        console.log('Count is', count);
      }, [count]);
      
      setCount(1);
      setCount(2);

      What will be logged to the console?
      medium
      A. Count is 0, Count is 2
      B. Count is 0 only
      C. Count is 2 only
      D. Count is 0, Count is 1, Count is 2

      Solution

      1. Step 1: Understand effect dependency on count

        The effect runs after first render (count=0) and whenever count changes.
      2. Step 2: Analyze state updates

        Two state updates happen quickly: setCount(1) then setCount(2). React batches them, so only final count=2 triggers effect after initial render.
      3. Final Answer:

        Count is 0, Count is 2 -> Option A
      4. Quick Check:

        Effect runs on initial and final count change [OK]
      Hint: Effect runs after render with latest dependency value [OK]
      Common Mistakes:
      • Assuming effect runs for every intermediate state update
      • Ignoring batching of state updates
      • Thinking effect runs before first render
      4. What is wrong with this useEffect usage?
      const [count, setCount] = useState(0);
      useEffect(() => {
        console.log(count);
      }, []);
      medium
      A. Effect will run only once and log initial count, ignoring updates.
      B. Effect will never run because dependency array is empty.
      C. Effect will run on every render causing infinite loop.
      D. Syntax error due to missing dependencies.

      Solution

      1. Step 1: Check dependency array usage

        Empty array means effect runs once after first render only.
      2. Step 2: Understand effect behavior with state

        Effect logs count only once with initial value, ignoring later count changes.
      3. Final Answer:

        Effect will run only once and log initial count, ignoring updates. -> Option A
      4. Quick Check:

        Empty array ignores state changes [OK]
      Hint: Empty array ignores state changes inside effect [OK]
      Common Mistakes:
      • Thinking effect runs on every count change
      • Assuming empty array stops effect from running
      • Confusing syntax error with logical error
      5. You have a useEffect that depends on two props: userId and filter. Which dependency array is correct to ensure the effect runs only when these props change?
      useEffect(() => {
        fetchData(userId, filter);
      }, ???);
      hard
      A. []
      B. [fetchData]
      C. [userId, filter]
      D. [userId]

      Solution

      1. Step 1: Identify variables used inside effect

        The effect uses userId and filter inside its callback.
      2. Step 2: List all used variables in dependency array

        To rerun effect when either userId or filter changes, both must be in the dependency array.
      3. Final Answer:

        [userId, filter] -> Option C
      4. Quick Check:

        List all used variables in dependencies [OK]
      Hint: Include all used variables in dependency array [OK]
      Common Mistakes:
      • Leaving dependency array empty causing stale data
      • Including functions that don't change as dependencies
      • Listing only some used variables
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard