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. Layouts
Next.jsBeginner

Layouts

Root layout, nested layouts, template — shared UI কীভাবে তৈরি করবেন বাংলায়।

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

Layout হলো shared UI যা একাধিক page-এর মাঝে ভাগ করা থাকে — যেমন navbar, footer, sidebar। Navigation সময় layout state ধরে রাখে এবং পুনরায় render হয় না।

Root Layout

app/layout.tsx হলো root layout — এটি বাধ্যতামূলক এবং অবশ্যই <html> ও <body> tag থাকতে হবে।

app/layout.tsxtsx
tsx
export default function RootLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <html lang="bn">
      <body>
        <header>Shared Navbar</header>
        <main>{children}</main>
        <footer>Shared Footer</footer>
      </body>
    </html>
  );
}

Nested Layouts

যেকোনো route segment-এ আলাদা layout.tsx দিলে সেটি তার child partner-এর সব route-কে (root layout-এর ভেতরে) মোড়ায়।

app/blog/layout.tsxtsx
tsx
export default function BlogLayout({
  children,
}: {
  children: React.ReactNode;
}) {
  return (
    <section className="flex gap-6">
      <aside>Blog Sidebar</aside>
      <main>{children}</main>
    </section>
  );
}

এখন /blog ও /blog/[slug] দুটোই এই layout এর ভেতরে render হবে।

Layout Hierarchy

Component hierarchytext
text
RootLayout (app/layout.tsx)
└── BlogLayout (app/blog/layout.tsx)
    └── Page (app/blog/page.tsx)

Route Groups দিয়ে Separate Layout

Structuretext
text
app/
├── (marketing)/
│   ├── layout.tsx      → marketing layout
│   └── page.tsx        → /
└── (shop)/
    ├── layout.tsx      → shop layout
    └── cart/
        └── page.tsx    → /cart
Layout বনাম Template

Layout navigation-এ state ধরে রাখে (re-render হয় না)। template.tsx চাইলে প্রতিবার নতুন instance তৈরি হয় — state reset হয়। সাধারণত layout-ই যথেষ্ট।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরRouting ও PagesপরেরLinking ও Navigation
এই পেজে
Tech Tutor

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

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

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

mdanamolhasan1998@gmail.com