Why this matters
The production reason.
Next.js image optimization starts with next/image sizing, lazy loading, modern formats, and predictable dimensions. This matters because small implementation habits compound across every page, component, and handoff in a production codebase.
Use the pattern where the behavior is owned, keep the API small, and make the result easy for another developer to verify later.
The goal is not clever code. The goal is predictable code that survives new content, new teammates, and real user traffic.
import Image from "next/image";
export default function Hero() {
return (
<Image
src="/hero.webp"
alt="Product dashboard"
width={1400}
height={900}
priority
/>
);
}