Warning: Cannot update during an existing state transition
Youβre calling setState during render β usually inside the component body instead of in an event handler or useEffect.
Fix 1: Move setState to useEffect
// β Setting state during render
function Component({ value }) {
setCount(value); // Triggers re-render during render!
return <div>{count}</div>;
}
// β
Use useEffect
function Component({ value }) {
useEffect(() => {
setCount(value);
}, [value]);
return <div>{count}</div>;
}
Fix 2: Donβt call setState in render logic
// β Calling setState in a condition during render
if (items.length > 0) {
setHasItems(true); // Bad!
}
// β
Derive the value instead
const hasItems = items.length > 0;