Opening the book…
With prerendering enabled, OnInitializedAsync runs on the server and again on the client. Side effects written for exactly-once execution — telemetry, counters, POSTs — happen twice, and the duplicates show up in production analytics, not in dev.
Keep lifecycle methods idempotent, or use persistent component state to hand the prerendered data across. Anything with side effects belongs behind an after-first-render guard.
Apps with prerendering fully disabled — but say so where the assumption lives, because someone will re-enable it.
Microsoft Learn — Prerender ASP.NET Core Razor components — Why lifecycle methods run twice