Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Next.js Documentation27টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • কেন Next.js?
  • Installation
  • Project Structure
  • Routing ও Pages
  • Layouts
  • Linking ও Navigation
  • Server & Client Components
  • Dynamic Routes
  • Data Fetching
  • Loading ও Streaming
  • Error Handling
  • Route Handlers
  • Server Actions
  • Caching ও Revalidation
  • Metadata ও SEO
  • Images ও Fonts
  • Styling
  • Environment Variables
  • Development ও Production
  • Deployment
  • Configuration
  • Static ও Dynamic Rendering
  • Proxy
  • Performance
  • Project: Blog
  • Project: Dashboard
  1. Docs
  2. Next.js
  3. Static ও Dynamic Rendering
Next.jsAdvanced

Static ও Dynamic Rendering

Prerendering, Partial Prerendering (PPR) ও dynamic rendering — rendering strategies বাংলায়।

10টি অংশবাংলা ভাষায়

Next.js-এ rendering-এর কয়েকটি স্তর — static (prerendered), dynamic (request-time) ও Partial Prerendering (দুইটির mix)। Cache Components চালু করলে PPR default।

রেন্ডারিং এর ধরন

Strategyকখন render হয়কখন ভালো
Prerendering (Static)Build সময়Content যেমন blog post
Dynamic Renderingপ্রতিটি request-এPersonalized data (user-specific)
Partial PrerenderingStatic + streamঅধিকাংশ page

কখন Dynamic হয়?

এই Request-time API-গুলো ব্যবহার করলে component dynamic হয়:

  • cookies() — user-এর cookie
  • headers() — request headers
  • searchParams — URL query
  • params — dynamic route (এতে copy না থাকলে)

Partial Prerendering (PPR)

Cache Components চালু থাকলে (Next 16 default), page-এর static অংশ prerender হয় আর dynamic অংশ stream হয় — একই page-এ দুটোর mix।

app/blog/page.tsxtsx
tsx
import { Suspense } from "react";

// Static — static shell-এ যায়
export default function BlogPage() {
  return (
    <>
      <header>
        <h1>Our Blog</h1>
      </header>

      {/* Cached — static shell-এ যায় */}
      <BlogPosts />

      {/* Dynamic — request-time-এ stream */}
      <Suspense fallback={<p>Loading preferences...</p>}>
        <UserPreferences />
      </Suspense>
    </>
  );
}

// সবার জন্য same — cached
async function BlogPosts() {
  "use cache";
  const res = await fetch("https://api.vercel.app/blog");
  const posts = await res.json();

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

// user-specific — runtime-এ
async function UserPreferences() {
  const theme = (await cookies()).get("theme")?.value || "light";
  return <p>Your theme: {theme}</p>;
}
Static Shell

প্রথম load-এ browser পুরো static shell পায় — সাথে সাথে দেখায়। Dynamic অংশ <Suspense> fallback-এর পর stream-এ আসে।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরNext.js ConfigurationপরেরProxy (Former Middleware)
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com