"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > Next.js में क्लाइंट बनाम सर्वर घटक

Next.js में क्लाइंट बनाम सर्वर घटक

2024-11-03 को प्रकाशित
ब्राउज़ करें:960

Client vs Server Components in Next.js

नेक्स्ट.जेएस के इस संस्करण में, हम पता लगाएंगे कि क्लाइंट और सर्वर घटक क्या हैं, उनके अंतर, प्रत्येक का उपयोग कब करना है, और उन्हें अपने में लागू करने में आपकी सहायता के लिए व्यावहारिक उदाहरण प्रदान करेंगे। परियोजनाएं।

Next.js में क्लाइंट और सर्वर घटक क्या हैं?

नेक्स्ट.जेएस में, क्लाइंट कंपोनेंट्स और सर्वर कंपोनेंट्स के बीच स्पष्ट अंतर है। यह पृथक्करण आपको कोड को कहां और कैसे संसाधित करना है, इसके बारे में बेहतर निर्णय लेने की अनुमति देता है, जो सीधे प्रदर्शन और उपयोगकर्ता अनुभव को प्रभावित करता है।

ग्राहक घटक

क्लाइंट कंपोनेंट्स ब्राउज़र में चलते हैं, जिससे विंडो या दस्तावेज़ जैसे ब्राउज़र एपीआई तक इंटरैक्टिविटी और पहुंच की अनुमति मिलती है। वे आपके एप्लिकेशन के गतिशील इंटरफ़ेस को प्रबंधित करने और उपयोगकर्ता क्रियाओं पर प्रतिक्रिया देने के लिए आदर्श हैं।

मुख्य विशेषताएं:

  • ब्राउज़र (क्लाइंट) में चलाएँ।
  • useState या useEffect जैसे हुक तक पहुंच है।
  • फ़ॉर्म या बटन जैसे गतिशील इंटरैक्शन को संभालने के लिए उपयोग किया जाता है।
  • यह तब आवश्यक है जब आपको उपयोगकर्ता की गतिविधियों पर त्वरित प्रतिक्रिया देने की आवश्यकता हो।

क्लाइंट घटक का उदाहरण:

'use client'; // Indicates that this component runs on the client

import { useState } from 'react';

export default function ClientComponent() {
  const [count, setCount] = useState(0);

  return (
    

Client-side Counter

The count value is: {count}

); }

यह क्लासिक उदाहरण एक काउंटर है जो उपयोगकर्ता को पेज के साथ सीधे इंटरैक्ट करने की अनुमति देता है। 'क्लाइंट का उपयोग करें'; निर्देश Next.js को बताता है कि इस घटक को ब्राउज़र में निष्पादित किया जाना चाहिए।

सर्वर घटक

सर्वर कंपोनेंट्स Next.js आर्किटेक्चर में एक नई सुविधा है। ये घटक सर्वर पर संसाधित होते हैं और पहले से प्रस्तुत HTML को ब्राउज़र पर भेजते हैं। इससे क्लाइंट तक पहुंचने वाली जावास्क्रिप्ट की मात्रा कम हो जाती है, जिससे शुरुआती पेज लोड तेज हो जाता है।

मुख्य विशेषताएं:

  • सर्वर पर प्रस्तुत किया गया।
  • विंडो या दस्तावेज़ जैसे ब्राउज़र एपीआई तक पहुंच नहीं है, न ही यूज़स्टेट जैसे रिएक्ट हुक तक पहुंच है।
  • डेटाबेस या बाहरी एपीआई के साथ सीधे बातचीत कर सकते हैं।
  • क्लाइंट को जावास्क्रिप्ट के बजाय HTML भेजकर प्रदर्शन को अनुकूलित करें।

सर्वर घटक का उदाहरण:

export default async function ServerComponent() {
  const data = await fetch('https://api.example.com/data').then(res => res.json());

  return (
    

Data from the Server

{data.message}

); }

इस उदाहरण में, घटक सर्वर पर रेंडर किया जाता है, एक एपीआई से डेटा पुनर्प्राप्त करता है, और फिर रेंडर किए गए HTML को लौटाता है। इसका मतलब है कि डेटा लाने वाला तर्क क्लाइंट तक नहीं पहुंचता है, जिससे प्रदर्शन में सुधार होता है।

Next.js में नई सुविधाएँ

Next.js सर्वर और क्लाइंट घटकों के इंटरैक्ट करने के तरीके को परिष्कृत करता है। यहां कुछ सबसे उल्लेखनीय सुधार दिए गए हैं:

1. डिफ़ॉल्ट रूप से सर्वर घटक

घटक अब डिफ़ॉल्ट रूप से सर्वर घटक हैं। इसका मतलब यह है कि आपका एप्लिकेशन ब्राउज़र पर कम जावास्क्रिप्ट भेजकर स्वचालित रूप से अनुकूलित हो जाता है, जब तक कि आपको स्पष्ट रूप से क्लाइंट घटक की आवश्यकता न हो।

2. अनुकूलित स्ट्रीमिंग

स्ट्रीमिंग घटकों को भागों में लोड करने की अनुमति देती है। यह बड़े या डेटा-भारी पृष्ठों के लिए उपयोगी है, क्योंकि पृष्ठ के अनुभाग सभी सामग्री उपलब्ध होने की प्रतीक्षा किए बिना, तैयार होते ही लोड हो सकते हैं।

3. दानेदार नियंत्रण

Next.js यह तय करना आसान बनाता है कि कोई घटक सर्वर पर चलेगा या क्लाइंट पर, जिससे आपको अपने एप्लिकेशन को अनुकूलित करने के तरीके पर अधिक नियंत्रण मिलता है।

4. बेहतर हाइड्रेशन

हाइड्रेशन वह प्रक्रिया है जो सर्वर से भेजे गए स्थिर HTML को क्लाइंट पर एक इंटरैक्टिव पेज में बदल देती है। Next.js के साथ, जलयोजन अधिक कुशल और चयनात्मक है, केवल वहीं होता है जहां बिल्कुल आवश्यक हो।

क्लाइंट बनाम सर्वर घटकों का उपयोग कब करें

क्लाइंट घटकों का उपयोग करें जब:

  1. उपयोगकर्ता अंतरक्रियाशीलता: जब आपको वास्तविक समय में प्रतिक्रिया देने वाले फॉर्म या बटन जैसे इंटरैक्शन को संभालने की आवश्यकता होती है।
  2. राज्य प्रबंधन: स्थानीय राज्यों के प्रबंधन के लिए आदर्श जो गतिशील रूप से बदलते हैं, जैसे शॉपिंग कार्ट।
  3. एनिमेशन और विज़ुअल इफेक्ट्स: जब उपयोगकर्ता इंटरैक्शन के आधार पर अपडेट होने वाले एनिमेशन या प्रभावों पर निर्भर होते हैं।

सर्वर घटकों का उपयोग करें जब:

  1. डेटाबेस क्वेरीज़: जब आपको सामग्री प्रदर्शित करने से पहले डेटाबेस से डेटा लाने की आवश्यकता होती है।
  2. स्थिर सामग्री: आदर्श जब सामग्री बार-बार नहीं बदलती है और उसे अन्तरक्रियाशीलता की आवश्यकता नहीं होती है।
  3. एसईओ सुधार: सर्वर-रेंडर सामग्री खोज इंजनों के लिए अधिक सुलभ है, एसईओ को बढ़ाती है।

क्लाइंट और सर्वर घटकों के संयोजन का उदाहरण:

// ServerComponent.tsx
export default async function ServerComponent() {
  const data = await fetch('https://api.example.com/products').then(res => res.json());

  return (
    

Product List (Server-rendered)

    {data.map((product: any) => (
  • {product.name}
  • ))}
); } // ClientComponent.tsx 'use client'; import { useState } from 'react'; export default function ClientComponent() { const [search, setSearch] = useState(''); return (
setSearch(e.target.value)} placeholder="Search product" />

Searching for: {search}

); }

इस उदाहरण में, सर्वर उत्पादों की सूची प्रस्तुत करता है और क्लाइंट को भेजता है, जबकि खोज घटक इंटरैक्टिव है और क्लाइंट साइड पर प्रबंधित होता है।

निष्कर्ष

नेक्स्ट.जेएस इस बात में एक महत्वपूर्ण मोड़ दर्शाता है कि हम प्रदर्शन और उपयोगकर्ता अनुभव दोनों को अनुकूलित करते हुए वेब एप्लिकेशन कैसे विकसित करते हैं। सर्वर कंपोनेंट्स और क्लाइंट कंपोनेंट्स का कुशल उपयोग आपको हल्के प्रारंभिक लोड के साथ तेज, गतिशील एप्लिकेशन बनाने की अनुमति देता है।

सर्वर कंपोनेंट और क्लाइंट कंपोनेंट के बीच सही ढंग से चयन करना फ्रेमवर्क की क्षमताओं का पूरी तरह से लाभ उठाने के लिए महत्वपूर्ण है। इन नए सुधारों के साथ, सूचित निर्णय लेना और ऐसे एप्लिकेशन बनाना आसान हो गया है जो न केवल तेज़ हैं बल्कि इंटरैक्टिव और स्केलेबल भी हैं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/adrianbailador/client-vs-server-components-in-nextjs-pdj?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3