A React component re-renders when its state or props change. This means React updates the component's output to match the new data.
Click to reveal answer
beginner
How does React decide if a component should update?
React compares the new props and state with the previous ones. If they are different, React re-renders the component to update the UI.
Click to reveal answer
intermediate
What is the role of React.memo in re-rendering?
React.memo is a function that wraps a component to prevent unnecessary re-renders. It only re-renders if the props change, improving performance.
Click to reveal answer
intermediate
Why can changing state with the same value still cause a re-render?
React re-renders because it does not deeply compare state values. Even if the value looks the same, setting state triggers a re-render by default.
Click to reveal answer
intermediate
How can useCallback help with re-rendering?
useCallback returns a memoized function that keeps the same reference between renders. This helps prevent child components from re-rendering when functions are passed as props.
Click to reveal answer
What triggers a React component to re-render?
AChange in HTML outside React
BChange in CSS styles only
CChange in unrelated variables
DChange in state or props
✗ Incorrect
React re-renders components when their state or props change to update the UI.
What does React.memo do?
AForces re-render every time
BPrevents re-render if props are unchanged
CRemoves component from DOM
DChanges state automatically
✗ Incorrect
React.memo helps avoid unnecessary re-renders by checking if props have changed.
Which hook helps keep function references stable to avoid re-renders?
AuseCallback
BuseState
CuseEffect
DuseRef
✗ Incorrect
useCallback memoizes functions so they keep the same reference between renders.
If you set state to the same value, what happens?
AComponent never re-renders
BComponent crashes
CComponent re-renders anyway
DState resets to initial
✗ Incorrect
React triggers a re-render even if the new state value looks the same.
How does React check if it should re-render a component?
ABy comparing new and old props and state
BBy checking CSS changes
CBy checking DOM changes outside React
DBy user input only
✗ Incorrect
React compares props and state to decide if a component needs to update.
Explain in simple terms what causes a React component to re-render and why this is important.
Think about what happens when data changes in your app.
You got /4 concepts.
Describe how React.memo and useCallback help improve performance by controlling re-rendering.
Consider how React decides to update components and how to avoid extra work.
You got /4 concepts.
Practice
(1/5)
1. Which of the following causes a React component to re-render?
easy
A. When a variable inside the component function changes but state does not
B. When the component's state changes using a state setter like setState or useState setter
C. When the component's CSS styles change
D. When the browser window is resized
Solution
Step 1: Understand React's re-render triggers
React re-renders a component when its state or props change, not just any variable or style change.
Step 2: Identify the correct trigger
Using setState or the setter from useState updates state and triggers re-rendering.
Final Answer:
When the component's state changes using a state setter like setState or useState setter -> Option B
Quick Check:
State change triggers re-render = B [OK]
Hint: State or props change triggers re-rendering in React [OK]
What will be logged to the console after clicking the button three times?
medium
A. Render: 0, Render: 1, Render: 2, Render: 3
B. Render: 0, Render: 1
C. Render: 3 only
D. Render: 1, Render: 2, Render: 3
Solution
Step 1: Understand initial render and state updates
Initially, the component renders with count = 0 and logs 'Render: 0'. Each button click calls setCount(count + 1), updating state and causing re-render.
Step 2: Trace each click and render
After first click, count becomes 1 and logs 'Render: 1'. Second click updates count to 2 and logs 'Render: 2'. Third click updates count to 3 and logs 'Render: 3'.
Hint: Each state update triggers a new render and console log [OK]
Common Mistakes:
Ignoring initial render log
Assuming only last render logs
Thinking state updates batch without intermediate renders
4. Given this React component:
function Example() {
const [value, setValue] = React.useState(0);
function update() {
value = value + 1;
}
return <button onClick={update}>Value: {value}</button>;
}
Why does clicking the button NOT update the displayed value?
medium
A. Because direct assignment to value does not update state or trigger re-render
B. Because the update function is not called on click
C. Because the initial state is zero and never changes
D. Because React does not allow state updates inside event handlers
Solution
Step 1: Identify how state updates trigger re-render
React re-renders when state is updated via the setter function, not by direct variable assignment.
Step 2: Analyze the update function
The function assigns value = value + 1 directly, which changes a local variable but does not update React state or cause re-render.
Final Answer:
Because direct assignment to value does not update state or trigger re-render -> Option A
Quick Check:
State must be updated via setter to re-render = A [OK]
Hint: Always use state setter to update state, not direct assignment [OK]
Common Mistakes:
Thinking direct assignment updates state
Assuming event handler is not called
Believing React forbids state updates in handlers
5. You have a parent component passing a prop count to a child component. The child uses React.memo to avoid unnecessary re-renders. Which of these changes will cause the child to re-render?
hard
A. The parent re-renders but passes the same count value as before
B. A variable inside the child component function changes but state does not
C. The parent passes a new count value different from before
D. The parent changes an unrelated state but count stays the same
Solution
Step 1: Understand React.memo behavior
React.memo prevents re-render if props are shallowly equal. If props change, it re-renders.
Step 2: Analyze each option
A: Same count means props equal, no re-render. B: Local variable change does not update state or props, no re-render. C: Unrelated state change in parent does not affect child's props if count same. D: New count value means props changed, triggers re-render.
Final Answer:
The parent passes a new count value different from before -> Option C
Quick Check:
Prop change triggers React.memo re-render = D [OK]
Hint: React.memo re-renders only if props change shallowly [OK]