Why does React Strict Mode run components and useEffect twice?
If you’ve ever seen:
• component functions running twice
• useEffect firing twice
• API calls appearing duplicated
• console.log showing up two times
and wondered whether React is broken, this video clears it up.
In this deep dive, we explain:
• Why React Strict Mode intentionally double invokes logic
• The difference between render and commit phases
• Why rendering must be pure
• Why useEffect runs: setup → cleanup → setup
• Why duplicate API calls appear only in development
• Why none of this happens in production
• How Strict Mode prepares your app for future React rendering
• The exact interview-ready explanation for “why useEffect runs twice”
Strict Mode is not a bug.
It is a safety mechanism that stress tests your components to ensure they are safe, repeatable, and future-proof.
If disabling Strict Mode “fixes” a bug, that bug will come back later - harder to debug.
This video is designed for:
• React developers
• Interview preparation
• Engineers confused by Strict Mode behavior
• Anyone working with React 18+
👉 Practice interview-calibrated React questions that test real understanding (not trivia):
https://clearround.dev