React Academy · पाठ

डायनेमिक रूट और रूट समूह

[slug] डायनेमिक सेगमेंट, (folder) वाले रूट समूह और समानांतर रूट बनाएँ।

पाठ 3, कुल 4 में से12 चरण

डायनेमिक रूट और रूट समूह, CoddyKit पर React Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह React Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। React Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

डायनेमिक खंड

डायनेमिक खंड बनाने के लिए फ़ोल्डर के नाम को वर्गाकार कोष्ठकों में रखें। इसका मान पेज को दिए गए params में उपलब्ध होता है।

// app/products/[id]/page.tsx
export default function ProductPage({ params }: { params: { id: string } }) {
  return <h1>Product {params.id}</h1>;
}
// → /products/123 → params.id = '123'

टाइप किए हुए पैरामीटर

यूआरएल में पैरामीटर हमेशा स्ट्रिंग होते हैं। संख्यात्मक आईडी के लिए उन्हें स्पष्ट रूप से पार्स करें।

export default async function PostPage({ params }: { params: { slug: string } }) {
  const post = await getPostBySlug(params.slug);
  if (!post) notFound();
  return <article>{post.content}</article>;
}

कैच-ऑल खंड

किसी भी संख्या में पथ खंडों से मेल कराने के लिए [...slug] का उपयोग करें। इसका मान स्ट्रिंग की एक ऐरे होता है।

// app/docs/[...path]/page.tsx
export default function DocsPage({ params }: { params: { path: string[] } }) {
  // /docs/react/hooks → params.path = ['react', 'hooks']
  return <DocViewer path={params.path} />;
}

वैकल्पिक कैच-ऑल

[[...slug]] रूट खंड से भी मेल खाता है—वैकल्पिक पथ प्रीफ़िक्स के लिए उपयोगी।

// app/[[...lang]]/page.tsx
// Matches /, /en, /en/about, /fr/products/123
export default function Page({ params }: { params: { lang?: string[] } }) {
  const lang = params.lang?.[0] ?? 'en';
  return <div lang={lang}>...</div>;
}

generateStaticParams

बिल्ड समय पर डायनेमिक रूट को पहले से रेंडर करने के लिए generateStaticParams() एक्सपोर्ट करें, जिससे प्रत्येक पैरामीटर संयोजन के लिए स्थिर HTML तैयार होता है।

export async function generateStaticParams() {
  const posts = await getPosts();
  return posts.map(p => ({ slug: p.slug }));
}
// → builds /blog/hello-world, /blog/react-tips etc. statically

रूट समूह — (फ़ोल्डर)

रूट समूह बनाने के लिए फ़ोल्डर के नाम को कोष्ठकों में रखें। इससे यूआरएल में कोई खंड जोड़े बिना फ़ाइलों को व्यवस्थित किया जा सकता है।

// File structure:
// app/(marketing)/about/page.tsx → /about
// app/(marketing)/blog/page.tsx  → /blog
// app/(app)/dashboard/page.tsx   → /dashboard
// (marketing) and (app) don't appear in URLs

साझा लेआउट वाले रूट समूह

हर रूट समूह का अपना layout.tsx हो सकता है, जिससे यूआरएल नेस्टिंग के बिना अलग-अलग खंडों को अलग लेआउट दिए जा सकते हैं।

// app/(marketing)/layout.tsx — marketing shell
// app/(app)/layout.tsx — authenticated app shell
// Both groups share app/layout.tsx as the root

समानांतर रूट — @slot

स्लॉट बनाने के लिए फ़ोल्डर के आगे @ लगाएँ। स्लॉट पैरेंट लेआउट में एक साथ रेंडर होते हैं—मोडल, स्प्लिट-स्क्रीन या टैब के लिए उपयोगी।

// app/@modal/login/page.tsx
// app/layout.tsx
export default function RootLayout({ children, modal }) {
  return (
    <div>
      {children}
      {modal} {/* renders @modal/login/page.tsx side by side */}
    </div>
  );
}

इंटरसेप्टिंग रूट — (..)

किसी रूट को रोककर उसे उसी स्थान पर रेंडर करने के लिए (..) नोटेशन का उपयोग करें (जैसे, नई फ़ाइल पर जाने के बजाय किसी फ़ोटो को मोडल में खोलना)।

// Soft navigation shows modal:
// app/@modal/(..)/photos/[id]/page.tsx
// Hard navigation shows full page:
// app/photos/[id]/page.tsx

डायनेमिक रूट मेटाडेटा

रूट पैरामीटर के आधार पर प्रति-पेज एसईओ टैग सेट करने के लिए डायनेमिक रूट में एसिंक्रोनस generateMetadata फ़ंक्शन एक्सपोर्ट करें।

export async function generateMetadata({ params }: { params: { id: string } }) {
  const product = await getProduct(params.id);
  return { title: product.name, description: product.description };
}

त्वरित जाँच

Next.js ऐप राउटर में फ़ोल्डर के नाम को कोष्ठकों में रखने से क्या होता है?

पुनरावलोकन

[id] डायनेमिक खंड बनाता है, [...slug] सभी अधीन पथों से मेल खाता है और [[...slug]] उन्हें वैकल्पिक बनाता है। (name) वाले रूट समूह यूआरएल को प्रभावित किए बिना कोड व्यवस्थित करते हैं और प्रति-समूह लेआउट सक्षम करते हैं। बिल्ड-समय पर पहले से रेंडर करने के लिए generateStaticParams का उपयोग करें।

शुरुआत निःशुल्क

एआई शिक्षक के साथ React सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
88
पाठ
324

अक्सर पूछे जाने वाले प्रश्न

क्या “डायनेमिक रूट और रूट समूह” पाठ निःशुल्क है?

हाँ—“डायनेमिक रूट और रूट समूह” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और React Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। React Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“डायनेमिक रूट और रूट समूह” में मैं क्या सीखूँगा?

[slug] डायनेमिक सेगमेंट, (folder) वाले रूट समूह और समानांतर रूट बनाएँ। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ React Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या React Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर React Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“डायनेमिक रूट और रूट समूह” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस React Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर React Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. App Router की फ़ाइल परंपराएँ
  2. Next.js में सर्वर बनाम क्लाइंट कंपोनेंट
  3. डायनेमिक रूट और रूट समूह
  4. App Router में मेटाडेटा API और SEO
← React Academy पर वापस जाएँ