Static vs Dynamic Rendering in Next.js Explained
How Next.js 16 decides whether a component is rendered at build time or request time, and how Cache Components turn one route into a mix of both.
Full-stack React framework
How Next.js 16 decides whether a component is rendered at build time or request time, and how Cache Components turn one route into a mix of both.
How Partial Prerendering, server-side rendering, static site generation, and incremental static regeneration differ in Next.js 16, and which to choose.
How Partial Prerendering builds a static shell and streams the dynamic parts, and why it is the default rendering model in Next.js 16.
What the connection() function does, when to await it to force request-time rendering, and how it compares to io() under Cache Components.
The common reasons a Next.js route renders dynamically instead of statically, and how to find the cause in build output or the dev overlay.
The route segment config options you can export from a page, layout, or route handler, and which of them belong to the pre-Cache-Components model.
How the instant route segment config validates instant navigation in Next.js 16, and when to set it to true, false, or an options object.
How generateStaticParams prerenders dynamic routes at build time, and how dynamicParams controls what happens to the paths that are not listed.
How to keep the static shell while a page still reads dynamic data, using Suspense boundaries, use cache, and runtime values passed as arguments.
What Server Actions are, how to define and call one from a form or event handler, and what happens on the server during a single roundtrip.
How to refresh cached pages after a Server Action with revalidatePath, updateTag, and refresh, and when to use each.
How to use the useActionState hook with a Server Action to show pending state and surface validation errors returned from the server.