React Academy · पाठ

React Server Components की व्याख्या

समझें कि RSC क्या हैं, वे क्लाइंट कंपोनेंट से कैसे अलग हैं और किसका उपयोग कब करना चाहिए।

पाठ 1, कुल 4 में से13 चरण

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

स्वागत है

इस पाठ में आप सीखेंगे कि React Server Components (RSCs) क्या हैं, वे क्लाइंट कॉम्पोनेंट से कैसे अलग हैं और प्रत्येक प्रकार का उपयोग कब करना चाहिए।

कॉम्पोनेंट की दो दुनियाएँ

React 19 और Next.js App Router कॉम्पोनेंट को दो दुनियाओं में बाँटते हैं: **सर्वर कॉम्पोनेंट** (सर्वर पर रेंडर होते हैं, इनमें इंटरैक्टिविटी नहीं होती) और **क्लाइंट कॉम्पोनेंट** (सर्वर और क्लाइंट दोनों पर रेंडर होते हैं, इनमें state और इवेंट हैंडलर होते हैं)।

डिफ़ॉल्ट रूप से सर्वर कॉम्पोनेंट

Next.js App Router में प्रत्येक कॉम्पोनेंट डिफ़ॉल्ट रूप से सर्वर कॉम्पोनेंट होता है। फ़ाइल के शीर्ष पर 'use client' जोड़कर आप क्लाइंट कॉम्पोनेंट मोड चुनते हैं।
// Server Component (default, no directive needed)
export default async function Page() {
  const data = await fetch('/api/posts').then(r => r.json());
  return <ul>{data.map(p => <li key={p.id}>{p.title}</li>)}</ul>;
}

क्लाइंट कॉम्पोनेंट

किसी फ़ाइल के शीर्ष पर 'use client' जोड़कर उसे क्लाइंट कॉम्पोनेंट बनाएँ। क्लाइंट कॉम्पोनेंट useState, useEffect, इवेंट हैंडलर और ब्राउज़र एपीआई का उपयोग कर सकते हैं।
'use client';
import { useState } from 'react';

export function Counter() {
  const [n, setN] = useState(0);
  return <button onClick={() => setN(n+1)}>{n}</button>;
}

सर्वर कॉम्पोनेंट की क्षमताएँ

सर्वर कॉम्पोनेंट ये काम कर सकते हैं: डेटाबेस क्वेरी की प्रतीक्षा करना, फ़ाइल सिस्टम पढ़ना, पर्यावरणीय गुप्त जानकारी तक पहुँचना, केवल सर्वर पर उपयोग होने वाले बड़े पैकेज आयात करना और क्लाइंट को कोई JS भेजे बिना रेंडर होना।
// Fetch from DB directly in the component!
import { db } from '@/lib/db';

export default async function UserList() {
  const users = await db.select().from(usersTable);
  return <ul>{users.map(u => <li key={u.id}>{u.name}</li>)}</ul>;
}

सर्वर कॉम्पोनेंट की सीमाएँ

सर्वर कॉम्पोनेंट CANNOT: useState, useEffect, इवेंट हैंडलर (onClick आदि), ब्राउज़र एपीआई (window, localStorage) या Context का उपयोग नहीं कर सकते। इनके लिए 'use client' आवश्यक है।

सर्वर और क्लाइंट कॉम्पोनेंट को संयोजित करना

सामान्य पैटर्न यह है: सर्वर कॉम्पोनेंट डेटा लाकर उसे props के रूप में क्लाइंट कॉम्पोनेंट को देता है। सर्वर डेटा संभालता है और क्लाइंट इंटरैक्शन संभालता है।
// Server Component
export default async function Page() {
  const user = await getUser();
  return <ProfileEditor user={user} />; // client component
}

// Client Component (separate file)
'use client';
export function ProfileEditor({ user }) {
  const [name, setName] = useState(user.name);
  return <input value={name} onChange={e => setName(e.target.value)} />;
}

क्लाइंट सीमा का नियम

जब आप किसी फ़ाइल पर 'use client' लगाते हैं, तो उसके सभी आयात किए गए कॉम्पोनेंट भी क्लाइंट कॉम्पोनेंट माने जाते हैं। सर्वर और क्लाइंट के बीच की सीमा फ़ाइल स्तर पर होती है।

सर्वर कॉम्पोनेंट के लिए शून्य JavaScript

सर्वर कॉम्पोनेंट सर्वर पर HTML में रेंडर होते हैं। उनका कॉम्पोनेंट कोड NEVER ब्राउज़र को नहीं भेजा जाता। इससे JavaScript बंडल का आकार काफ़ी कम हो जाता है।

सर्वर कॉम्पोनेंट बनाम SSR

पारंपरिक SSR पूरे पृष्ठ को HTML में रेंडर करता है, लेकिन हाइड्रेशन के लिए सभी कॉम्पोनेंट कोड क्लाइंट को भेजता है। सर्वर कॉम्पोनेंट अपना कोड क्लाइंट को कभी नहीं भेजते — केवल रेंडर किया हुआ आउटपुट भेजते हैं।

त्वरित जाँच

Next.js App Router में किसी फ़ाइल को React क्लाइंट कॉम्पोनेंट बनाने के लिए उसमें कौन-सा निर्देश जोड़ते हैं?

पुनरावलोकन

सर्वर कॉम्पोनेंट सर्वर पर चलते हैं, डेटाबेस और गुप्त जानकारी तक पहुँच सकते हैं और क्लाइंट को कोई JS नहीं भेजते। क्लाइंट कॉम्पोनेंट 'use client' जोड़ते हैं और state, effects तथा इवेंट हैंडलर का समर्थन करते हैं। इन्हें संयोजित करें: सर्वर डेटा लाता है और क्लाइंट इंटरैक्शन करता है।

अगला चरण

अगला पाठ: **अतुल्यकालिक संसाधनों के लिए use() हुक** — आप React 19 के use() हुक से रेंडर के दौरान प्रॉमिस और कॉन्टेक्स्ट पढ़ेंगे।
शुरुआत निःशुल्क

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

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

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

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

क्या “React Server Components की व्याख्या” पाठ निःशुल्क है?

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

“React Server Components की व्याख्या” में मैं क्या सीखूँगा?

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

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

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

“React Server Components की व्याख्या” पाठ पूरा करने में कितना समय लगता है?

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

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

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

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

  1. React Server Components की व्याख्या
  2. एसिंक्रोनस संसाधनों के लिए use() हुक
  3. React Actions और useActionState
  4. तुरंत प्रतिक्रिया के लिए useOptimistic
← React Academy पर वापस जाएँ