Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ Static and Dynamic Rendering Basics | Section
Building Web Apps with Next.js

bookStatic and Dynamic Rendering Basics

メニューを表示するにはスワイプしてください

When building pages in Next.js, an important question is when the page is generated.

Some pages can be prepared in advance, while others need fresh data every time a user visits them. Next.js handles both cases automatically using static and dynamic rendering.

Understanding this difference helps you build faster and more efficient applications.

Static Rendering

Static rendering means the page is generated ahead of time and reused for every user.

This works best when the content does not change often, such as:

  • Landing pages;
  • Documentation;
  • Blog posts.

Example:

export default async function Page() {
  const res = await fetch("https://api.example.com/posts");
  const posts = await res.json();

  return (
    <ul>
      {posts.map((post) => (
        <li key={post.id}>{post.title}</li>
      ))}
    </ul>
  );
}

If the data does not change frequently, Next.js can cache and reuse this page.

Dynamic Rendering

Dynamic rendering means the page is generated on each request.

This is useful when the data changes frequently or depends on the user.

Examples:

  • Dashboards;
  • User-specific data;
  • Real-time information.

You can force dynamic behavior:

export const dynamic = "force-dynamic";

export default async function Page() {
  const res = await fetch("https://api.example.com/data");
  const data = await res.json();

  return <div>{data.value}</div>;
}

How Next.js Decides

By default, Next.js tries to optimize your app automatically.

If your data can be cached, it uses static rendering. If it detects dynamic behavior, it switches to dynamic rendering.

You can also control this behavior when needed.

question mark

Which statement best describes the main difference between static site generation (SSG) and server-side rendering (SSR) in Next.js?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 1.  30

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 1.  30
some-alt