தமிழ்

ரியாக்ட் சர்வர் கான்டெக்ஸ்ட்-ஐ ஆராயுங்கள். இது சர்வர்-பக்க நிலையை திறமையாக நிர்வகிக்க உதவும் ஒரு புதிய அம்சம். செயல்திறன், SEO மேம்பாடு மற்றும் எளிமையான கட்டமைப்பு பற்றி அறியுங்கள். குறியீடு எடுத்துக்காட்டுகள் சேர்க்கப்பட்டுள்ளன.

ரியாக்ட் சர்வர் கான்டெக்ஸ்ட்: சர்வர்-பக்க நிலை பகிர்வு பற்றிய ஒரு ஆழமான பார்வை

ரியாக்ட் சர்வர் கூறுகள் (RSCs), சர்வர் மற்றும் கிளையன்ட் இடையேயான கோடுகளை மங்கச் செய்து, நாம் ரியாக்ட் பயன்பாடுகளை உருவாக்கும் முறையில் ஒரு முன்னுதாரண மாற்றத்தை அறிமுகப்படுத்தியுள்ளன. இந்த புதிய முன்னுதாரணத்தின் மையத்தில் ரியாக்ட் சர்வர் கான்டெக்ஸ்ட் உள்ளது, இது சர்வரில் தடையின்றி நிலை மற்றும் தரவைப் பகிர்வதற்கான ஒரு சக்திவாய்ந்த வழிமுறையாகும். இந்தக் கட்டுரை ரியாக்ட் சர்வர் கான்டெக்ஸ்ட், அதன் நன்மைகள், பயன்பாட்டு வழக்குகள் மற்றும் நடைமுறைச் செயலாக்கம் பற்றிய விரிவான ஆய்வை வழங்குகிறது.

ரியாக்ட் சர்வர் கான்டெக்ஸ்ட் என்றால் என்ன?

ரியாக்ட் சர்வர் கான்டெக்ஸ்ட் என்பது, ரெண்டரிங் செயல்பாட்டின் போது சர்வரில் இயங்கும் ரியாக்ட் சர்வர் கூறுகளுக்கு இடையில் நிலை மற்றும் தரவைப் பகிர உங்களை அனுமதிக்கும் ஒரு அம்சமாகும். இது கிளையன்ட்-பக்க ரியாக்டில் பயன்படுத்தப்படும் பழக்கமான React.Context-க்கு ஒப்பானது, ஆனால் ஒரு முக்கிய வேறுபாட்டுடன்: இது பிரத்தியேகமாக சர்வரில் மட்டுமே செயல்படுகிறது.

இதை ஒரு உலகளாவிய, சர்வர்-பக்க ஸ்டோராக நினைத்துப் பாருங்கள், அதை கூறுகள் ஆரம்ப ரெண்டரின் போது அணுகலாம் மற்றும் மாற்றியமைக்கலாம். இது சிக்கலான prop drilling அல்லது வெளிப்புற நிலை மேலாண்மை நூலகங்களின் தேவை இல்லாமல் திறமையான தரவு பெறுதல், அங்கீகாரம் மற்றும் பிற சர்வர்-பக்க செயல்பாடுகளை செயல்படுத்துகிறது.

ரியாக்ட் சர்வர் கான்டெக்ஸ்டை ஏன் பயன்படுத்த வேண்டும்?

ரியாக்ட் சர்வர் கான்டெக்ஸ்ட், சர்வர்-பக்க தரவு கையாளுதலுக்கான பாரம்பரிய அணுகுமுறைகளை விட பல கட்டாய நன்மைகளை வழங்குகிறது:

முக்கிய கருத்துக்கள் மற்றும் சொற்களஞ்சியம்

செயல்படுத்துதலுக்குள் நுழைவதற்கு முன், சில முக்கிய கருத்துக்களை வரையறுப்போம்:

ரியாக்ட் சர்வர் கான்டெக்ஸ்டை செயல்படுத்துதல்

உங்கள் பயன்பாட்டில் ரியாக்ட் சர்வர் கான்டெக்ஸ்டை செயல்படுத்துவதற்கான படிப்படியான வழிகாட்டி இங்கே:

1. ஒரு கான்டெக்ஸ்டை உருவாக்கவும்

முதலில், React.createContext-ஐப் பயன்படுத்தி ஒரு புதிய கான்டெக்ஸ்டை உருவாக்கவும்:

// app/context/AuthContext.js
import { createContext } from 'react';

const AuthContext = createContext(null);

export default AuthContext;

2. ஒரு கான்டெக்ஸ்ட் புரொவைடரை உருவாக்கவும்

அடுத்து, உங்கள் பயன்பாட்டின் எந்தப் பகுதியில் சர்வர்-பக்க நிலையைப் பகிர விரும்புகிறீர்களோ, அந்தப் பகுதியை உள்ளடக்கிய ஒரு கான்டெக்ஸ்ட் புரொவைடர் கூறை உருவாக்கவும். இந்த புரொவைடர் ஆரம்பத் தரவைப் பெற்று, அதை அதன் வழித்தோன்றல்களுக்குக் கிடைக்கச் செய்யும்.

// app/providers/AuthProvider.js
'use client';

import { useState, useEffect } from 'react';
import AuthContext from '../context/AuthContext';

async function fetchUser() {
  // ஒரு API அல்லது தரவுத்தளத்திலிருந்து பயனர் தரவைப் பெறுவதைப் போல உருவகப்படுத்தவும்
  return new Promise(resolve => {
    setTimeout(() => {
      resolve({
        id: 123,
        name: 'John Doe',
        email: 'john.doe@example.com',
      });
    }, 500);
  });
}

export default function AuthProvider({ children }) {
  const [user, setUser] = useState(null);

  useEffect(() => {
    async function getUser() {
      const userData = await fetchUser();
      setUser(userData);
    }

    getUser();
  }, []);

  return (
    
      {children}
    
  );
}

முக்கியம்: `AuthProvider` ஒரு கிளையன்ட் கூறு, இது `'use client'` உத்தரவு மூலம் குறிக்கப்படுகிறது. ஏனென்றால், இது `useState` மற்றும் `useEffect` ஆகியவற்றைப் பயன்படுத்துகிறது, இவை கிளையன்ட்-பக்க ஹூக்குகள். ஆரம்ப தரவுப் பெறுதல் `useEffect` ஹூக்கிற்குள் ஒத்திசைவற்ற முறையில் நடைபெறுகிறது, பின்னர் `user` நிலை `AuthContext`-க்கு வழங்கப்படுகிறது.

3. கான்டெக்ஸ்ட் மதிப்பை உட்கொள்ளுதல்

இப்போது, உங்கள் சர்வர் கூறுகள் அல்லது கிளையன்ட் கூறுகளில் ஏதேனும் ஒன்றில் useContext ஹூக்கைப் பயன்படுத்தி கான்டெக்ஸ்ட் மதிப்பை உட்கொள்ளலாம்:

// app/components/Profile.js
'use client';

import { useContext } from 'react';
import AuthContext from '../context/AuthContext';

export default function Profile() {
  const { user } = useContext(AuthContext);

  if (!user) {
    return 

ஏற்றுகிறது...

; } return (

சுயவிவரம்

பெயர்: {user.name}

மின்னஞ்சல்: {user.email}

); }

இந்த எடுத்துக்காட்டில், `Profile` கூறு ஒரு கிளையன்ட் கூறு ஆகும், இது பயனர் தரவை அணுக `AuthContext`-ஐ உட்கொள்கிறது. இது பயனரின் பெயர் மற்றும் மின்னஞ்சல் முகவரியைக் காட்டுகிறது.

4. சர்வர் கூறுகளில் சர்வர் கான்டெக்ஸ்டைப் பயன்படுத்துதல்

முந்தைய எடுத்துக்காட்டு ஒரு கிளையன்ட் கூறில் சர்வர் கான்டெக்ஸ்டை எவ்வாறு உட்கொள்வது என்பதைக் காட்டியிருந்தாலும், அதை நேரடியாக சர்வர் கூறுகளில் பயன்படுத்துவது பெரும்பாலும் மிகவும் திறமையானது. இது தரவைப் பெற்று, கூறுகளை முழுவதுமாக சர்வரில் ரெண்டர் செய்ய உங்களை அனுமதிக்கிறது, மேலும் கிளையன்ட்-பக்க ஜாவாஸ்கிரிப்ட்டைக் குறைக்கிறது.

ஒரு சர்வர் கூறில் சர்வர் கான்டெக்ஸ்டைப் பயன்படுத்த, நீங்கள் நேரடியாக கான்டெக்ஸ்டை இறக்குமதி செய்து கூறிற்குள் பயன்படுத்தலாம்:

// app/components/Dashboard.js
import AuthContext from '../context/AuthContext';
import { useContext } from 'react';

export default async function Dashboard() {
    const { user } = useContext(AuthContext);

    if (!user) {
        return 

ஏற்றுகிறது...

; } return (

வரவேற்கிறோம், {user.name}!

இது உங்கள் டாஷ்போர்டு.

); }

முக்கியம்: இது ஒரு சர்வர் கூறாக இருந்தாலும், கான்டெக்ஸ்ட் மதிப்பை அணுக நாம் இன்னும் `useContext` ஹூக்கைப் பயன்படுத்த வேண்டும் என்பதை கவனத்தில் கொள்க. மேலும், இந்த கூறு `async` எனக் குறிக்கப்பட்டுள்ளது, ஏனெனில் சர்வர் கூறுகள் இயல்பாகவே ஒத்திசைவற்ற செயல்பாடுகளை ஆதரிக்கின்றன, இது தரவுப் பெறுதலை சுத்தமாகவும் திறமையாகவும் ஆக்குகிறது.

5. உங்கள் பயன்பாட்டை மூடுதல்

இறுதியாக, அனைத்து கூறுகளுக்கும் சர்வர்-பக்க நிலையை கிடைக்கச் செய்ய, உங்கள் பயன்பாட்டை கான்டெக்ஸ்ட் புரொவைடருடன் மூடவும்:

// app/layout.js
import AuthProvider from './providers/AuthProvider';

export default function RootLayout({ children }) {
  return (
    
      
        
          {children}
        
      
    
  );
}

மேம்பட்ட பயன்பாட்டு வழக்குகள்

அடிப்படை நிலை பகிர்வுக்கு அப்பால், ரியாக்ட் சர்வர் கான்டெக்ஸ்ட் மேலும் மேம்பட்ட சூழ்நிலைகளில் பயன்படுத்தப்படலாம்:

1. சர்வதேசமயமாக்கல் (i18n)

உங்கள் பயன்பாட்டுடன் தற்போதைய மொழி அல்லது பிராந்தியத்தைப் பகிர நீங்கள் சர்வர் கான்டெக்ஸ்டைப் பயன்படுத்தலாம். இது சர்வரில் உள்ளூர்மயமாக்கப்பட்ட உள்ளடக்கத்தை ரெண்டர் செய்ய உங்களை அனுமதிக்கிறது, SEO மற்றும் அணுகலை மேம்படுத்துகிறது.

எடுத்துக்காட்டு:

// app/context/LocaleContext.js
import { createContext } from 'react';

const LocaleContext = createContext('en'); // இயல்புநிலை மொழி

export default LocaleContext;

// app/providers/LocaleProvider.js
'use client';

import { useState, useEffect } from 'react';
import LocaleContext from '../context/LocaleContext';

export default function LocaleProvider({ children, defaultLocale }) {
  const [locale, setLocale] = useState(defaultLocale || 'en');

  useEffect(() => {
    // நீங்கள் இங்கே மொழி-குறிப்பிட்ட தரவை ஏற்ற விரும்பலாம்
    // எடுத்துக்காட்டாக, ஒரு சர்வர் அல்லது தரவுத்தளத்திலிருந்து மொழிபெயர்ப்புகளைப் பெறுதல்
    console.log(`மொழியாக அமைக்கப்பட்டது: ${locale}`);
  }, [locale]);

  return (
    
      {children}
    
  );
}

// app/components/LocalizedText.js
'use client';

import { useContext } from 'react';
import LocaleContext from '../context/LocaleContext';
import translations from '../translations'; // உங்கள் மொழிபெயர்ப்புகளை இறக்குமதி செய்யவும்

export default function LocalizedText({ id }) {
  const { locale } = useContext(LocaleContext);
  const text = translations[locale][id] || id; // மொழிபெயர்ப்பு இல்லை என்றால் ID-ஐக் காட்டவும்
  return <>{text};
}

// app/translations.js
const translations = {
  en: {
    greeting: 'Hello!',
    description: 'Welcome to our website.',
  },
  ta: {
    greeting: 'வணக்கம்!',
    description: 'எங்கள் வலைத்தளத்திற்கு வரவேற்கிறோம்.',
  },
  hi: {
    greeting: 'नमस्ते!',
    description: 'हमारी वेबसाइट पर आपका स्वागत है।',
  },
  // இங்கே மேலும் மொழிகளையும் மொழிபெயர்ப்புகளையும் சேர்க்கவும்
};

இந்த எடுத்துக்காட்டு ஒரு `LocaleContext`-ஐ எப்படி உருவாக்குவது மற்றும் அதை உங்கள் பயன்பாட்டிற்கு தற்போதைய மொழியை வழங்க எப்படிப் பயன்படுத்துவது என்பதைக் காட்டுகிறது. `LocalizedText` கூறு பின்னர் இந்த மொழியைப் பயன்படுத்தி `translations` பொருளிலிருந்து பொருத்தமான மொழிபெயர்ப்பைப் பெறுகிறது. ஒரு தயாரிப்பு சூழலில், நீங்கள் `translations`-ஐ ஒரு தரவுத்தளம் அல்லது வெளிப்புற API போன்ற மிகவும் வலுவான மூலத்திலிருந்து ஏற்றலாம்.

2. கருப்பொருள் (Theming)

உங்கள் பயன்பாட்டுடன் தற்போதைய தீம்-ஐப் பகிர நீங்கள் சர்வர் கான்டெக்ஸ்டைப் பயன்படுத்தலாம். இது பயனரின் விருப்பத்தேர்வுகள் அல்லது கணினி அமைப்புகளின் அடிப்படையில் உங்கள் கூறுகளை மாறும் வகையில் வடிவமைக்க உங்களை அனுமதிக்கிறது.

3. அம்சக் கொடிகள் (Feature Flags)

உங்கள் பயன்பாட்டுடன் அம்சக் கொடிகளைப் பகிர நீங்கள் சர்வர் கான்டெக்ஸ்டைப் பயன்படுத்தலாம். இது பயனர் பிரிவுகள், A/B சோதனைகள் அல்லது பிற அளவுகோல்களின் அடிப்படையில் அம்சங்களை இயக்க அல்லது முடக்க உங்களை அனுமதிக்கிறது.

4. அங்கீகாரம் (Authentication)

ஆரம்ப எடுத்துக்காட்டில் நிரூபிக்கப்பட்டபடி, சர்வர் கான்டெக்ஸ்ட் அங்கீகார நிலையை நிர்வகிப்பதற்கு சிறந்தது, இது எளிய பயனர் தகவலுக்காக ஒரு தரவுத்தளத்திற்கு பல சுற்றுப் பயணங்களைத் தடுக்கிறது.

சிறந்த நடைமுறைகள்

ரியாக்ட் சர்வர் கான்டெக்ஸ்டில் இருந்து ಹೆಚ್ಚಿನதைப் பெற, இந்த சிறந்த நடைமுறைகளைப் பின்பற்றவும்:

உலகளாவிய பரிசீலனைகள்

ஒரு உலகளாவிய சூழலில் ரியாக்ட் சர்வர் கான்டெக்ஸ்டைப் பயன்படுத்தும்போது, பின்வருவனவற்றைக் கருத்தில் கொள்ளுங்கள்:

உதாரணமாக, அமெரிக்காவில், தேதிகள் பொதுவாக MM/DD/YYYY என வடிவமைக்கப்படுகின்றன, அதேசமயம் ஐரோப்பாவின் பல பகுதிகளில், அவை DD/MM/YYYY என வடிவமைக்கப்படுகின்றன. இதேபோல், சில கலாச்சாரங்கள் தசமப் பிரிப்பான்களாக காற்புள்ளிகளையும், ஆயிரக்கணக்கு பிரிப்பான்களாக புள்ளிகளையும் பயன்படுத்துகின்றன, மற்றவை எதிர் மரபைப் பயன்படுத்துகின்றன.

உலகெங்கிலும் இருந்து எடுத்துக்காட்டுகள்

வெவ்வேறு உலகளாவிய சூழல்களில் ரியாக்ட் சர்வர் கான்டெக்ஸ்ட் எவ்வாறு பயன்படுத்தப்படலாம் என்பதற்கான சில எடுத்துக்காட்டுகள் இங்கே:

முடிவுரை

ரியாக்ட் சர்வர் கான்டெக்ஸ்ட், ரியாக்ட் பயன்பாடுகளில் சர்வர்-பக்க நிலையை நிர்வகிப்பதற்கான ஒரு சக்திவாய்ந்த கருவியாகும். சர்வர் கான்டெக்ஸ்டைப் பயன்படுத்துவதன் மூலம், நீங்கள் செயல்திறனை மேம்படுத்தலாம், SEO-ஐ அதிகரிக்கலாம், உங்கள் கட்டமைப்பை எளிதாக்கலாம் மற்றும் சிறந்த பயனர் அனுபவத்தை வழங்கலாம். சிக்கலான பயன்பாடுகளுக்கான பாரம்பரிய கிளையன்ட்-பக்க நிலை மேலாண்மை தீர்வுகளை சர்வர் கான்டெக்ஸ்ட் மாற்றாது என்றாலும், இது சர்வர்-பக்க தரவை திறம்படப் பகிரும் செயல்முறையை நெறிப்படுத்துகிறது.

ரியாக்ட் சர்வர் கூறுகள் தொடர்ந்து विकसितப்பட்டு வருவதால், சர்வர் கான்டெக்ஸ்ட் ரியாக்ட் சுற்றுச்சூழல் அமைப்பின் இன்னும் இன்றியமையாத பகுதியாக மாறும். அதன் திறன்கள் மற்றும் வரம்புகளைப் புரிந்துகொள்வதன் மூலம், ஒரு உலகளாவிய பார்வையாளர்களுக்காக மிகவும் திறமையான, செயல்திறன் மிக்க மற்றும் பயனர் நட்பு வலைப் பயன்பாடுகளை உருவாக்க நீங்கள் அதைப் பயன்படுத்தலாம். அதன் திறன்கள் மற்றும் வரம்புகளைப் புரிந்துகொள்வதன் மூலம், மிகவும் திறமையான, செயல்திறன் மிக்க மற்றும் பயனர் நட்பு வலைப் பயன்பாடுகளை உருவாக்க நீங்கள் அதைப் பயன்படுத்தலாம்.