Why does my useEffect run twice in development?

Ask Question
Asked 5 days agoViewed 1.4k times
8

I see my effect fire twice on mount. Is something wrong with my code, or is this expected behavior in React 18?

PN
asked 5 days agoPriya Nair6,386

2 Answers

  • Accepted answer

    React 18 StrictMode intentionally double-invokes effects in development to surface missing cleanup. Your code is fine — production mounts once.

    MW
    answered 5 days agoMarcus Webb7,334
  • It only happens in dev — production mounts once. Make sure your effects clean up after themselves and you can ignore the double fire.

    SA
    answered 4 days agoSofia Alvarez5,306

Your Answer