தமிழ்

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

React சர்வர் ஆக்சன்ஸ்: சர்வர்-சைடு ஃபார்ம் செயலாக்கம் எளிமையாக்கப்பட்டது

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

React சர்வர் ஆக்சன்ஸ் என்றால் என்ன?

சர்வர் ஆக்சன்ஸ் என்பவை சர்வரில் இயங்கும் ασύγχρονος (asynchronous) ஃபங்ஷன்கள் ஆகும், இவற்றை React காம்போனென்ட்களிலிருந்து நேரடியாக அழைக்கலாம். அவை உங்களை சர்வர்-சைடு பணிகளைச் செய்ய அனுமதிக்கின்றன, அவை:

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

React சர்வர் ஆக்சன்ஸைப் பயன்படுத்துவதன் நன்மைகள்

React சர்வர் ஆக்சன்ஸைப் பயன்படுத்துவது பல குறிப்பிடத்தக்க நன்மைகளை வழங்குகிறது:

எளிமையாக்கப்பட்ட மேம்பாடு

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

மேம்படுத்தப்பட்ட பாதுகாப்பு

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

மேம்படுத்தப்பட்ட செயல்திறன்

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

ஆப்டிமிஸ்டிக் அப்டேட்ஸ் (Optimistic Updates)

சர்வர் ஆக்சன்ஸ், React-ன் Suspense மற்றும் Transitions உடன் தடையின்றி ஒருங்கிணைந்து, ஆப்டிமிஸ்டிக் அப்டேட்ஸை செயல்படுத்துகிறது. சர்வர் செயலை உறுதிப்படுத்துவதற்கு முன்பே, UI-ஐ உடனடியாகப் புதுப்பிக்க ஆப்டிமிஸ்டிக் அப்டேட்ஸ் உங்களை அனுமதிக்கிறது. இது பயனர்கள் தங்கள் செயல்களின் முடிவுகளைப் பார்ப்பதற்கு சர்வர் பதிலுக்காகக் காத்திருக்க வேண்டியதில்லை என்பதால், மிகவும் பதிலளிக்கக்கூடிய மற்றும் ஈர்க்கக்கூடிய பயனர் அனுபவத்தை வழங்குகிறது. மின்வணிகத்தில், ஷாப்பிங் கார்ட்டில் ஒரு பொருளைச் சேர்ப்பதை உடனடியாகக் காட்டலாம், அதே நேரத்தில் சர்வர் பின்னணியில் சேர்ப்பதை உறுதி செய்கிறது.

முற்போக்கான மேம்பாடு (Progressive Enhancement)

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

React சர்வர் ஆக்சன்ஸை எவ்வாறு பயன்படுத்துவது

React சர்வர் ஆக்சன்ஸைப் பயன்படுத்த, அவற்றை ஆதரிக்கும் Next.js போன்ற ஒரு கட்டமைப்பைப் பயன்படுத்த வேண்டும். இதோ ஒரு படிப்படியான வழிகாட்டி:

1. சர்வர் ஆக்சனை வரையறுக்கவும்

சர்வரில் இயங்கும் ஒரு ασύγχρονος (asynchronous) ஃபங்ஷனை உருவாக்கவும். இந்த ஃபங்ஷன், தரவுத்தளத்தைப் புதுப்பித்தல் அல்லது ஒரு API-ஐ அழைத்தல் போன்ற, நீங்கள் சர்வரில் செயல்படுத்த விரும்பும் லாஜிக்கைக் கையாள வேண்டும். இது ஒரு சர்வர் ஆக்சன் என்பதைக் குறிக்க, ஃபங்ஷனின் மேல் பகுதியில் `"use server"` டைரக்டிவ் மூலம் குறிக்கவும். இந்த டைரக்டிவ், React கம்பைலருக்கு இந்த ஃபங்ஷனை ஒரு சர்வர்-சைடு ஃபங்ஷனாகக் கருதி, கிளைன்ட் மற்றும் சர்வர் இடையே டேட்டாவின் சீரியலைசேஷன் மற்றும் டிசீரியலைசேஷனை தானாகக் கையாளச் சொல்கிறது.

// app/actions.js
'use server'

import { revalidatePath } from 'next/cache';
import { saveMessage } from './db';

export async function createMessage(prevState, formData) {
  const message = formData.get('message');

  try {
    await saveMessage(message);
    revalidatePath('/'); // ரூட் கேஷை அழிக்கவும்
    return { message: 'செய்தி வெற்றிகரமாக சேமிக்கப்பட்டது!' };
  } catch (e) {
    return { message: 'செய்தியை சேமிக்க முடியவில்லை' };
  }
}

விளக்கம்:

2. உங்கள் காம்போனென்டில் சர்வர் ஆக்சனை இறக்குமதி செய்து பயன்படுத்தவும்

உங்கள் React காம்போனென்டில் சர்வர் ஆக்சனை இறக்குமதி செய்து, அதை ஒரு ஃபார்ம் எலிமென்டில் `action` ப்ராப்பாகப் பயன்படுத்தவும். `useFormState` ஹுக், ஃபார்மின் ஸ்டேட்டைக் நிர்வகிக்கவும் பயனருக்கு கருத்துக்களைக் காட்டவும் பயன்படுத்தப்படலாம்.

// app/page.jsx
'use client';

import { useFormState } from 'react-dom';
import { createMessage } from './actions';

export default function Home() {
  const [state, formAction] = useFormState(createMessage, {message: ''});

  return (
    
{state?.message &&

{state.message}

}
); }

விளக்கம்:

3. ஃபார்ம் டேட்டாவைக் கையாளவும்

சர்வர் ஆக்சனுக்குள், நீங்கள் `FormData` API ஐப் பயன்படுத்தி ஃபார்ம் டேட்டாவை அணுகலாம். இந்த API ஃபார்ம் ஃபீல்டுகளின் மதிப்புகளை அணுக ஒரு வசதியான வழியை வழங்குகிறது.

'use server'

export async function createMessage(prevState, formData) {
  const message = formData.get('message');

  // ...
}

4. பிழைகளைக் கையாளவும்

சர்வர் ஆக்சனின் செயல்பாட்டின் போது ஏற்படக்கூடிய பிழைகளைக் கையாள `try...catch` பிளாக்குகளைப் பயன்படுத்தவும். பயனருக்கு அதைக் காட்ட ஸ்டேட் ஆப்ஜெக்டில் ஒரு பிழைச் செய்தியை வழங்கவும்.

'use server'

export async function createMessage(prevState, formData) {
  const message = formData.get('message');

  try {
    // ...
  } catch (e) {
    return { message: 'செய்தியை சேமிக்க முடியவில்லை' };
  }
}

5. டேட்டாவை மீண்டும் சரிபார்க்கவும் (Revalidate)

ஒரு சர்வர் ஆக்சன் வெற்றிகரமாக டேட்டாவை மாற்றிய பிறகு, UI சமீபத்திய மாற்றங்களைப் பிரதிபலிக்கிறது என்பதை உறுதிப்படுத்த நீங்கள் டேட்டா கேஷை மீண்டும் சரிபார்க்க வேண்டியிருக்கலாம். குறிப்பிட்ட பாதைகள் அல்லது குறிச்சொற்களை மீண்டும் சரிபார்க்க `next/cache`-லிருந்து `revalidatePath` அல்லது `revalidateTag` ஃபங்ஷன்களைப் பயன்படுத்தவும்.

'use server'

import { revalidatePath } from 'next/cache';

export async function createMessage(prevState, formData) {
  // ...
  revalidatePath('/'); // ரூட் கேஷை அழிக்கவும்
  // ...
}

மேம்பட்ட பயன்பாடு

டேட்டாவை மாற்றுதல்

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

அங்கீகாரம் மற்றும் அதிகாரமளித்தல்

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

எட்ஜ் ஃபங்ஷன்ஸ் (Edge Functions)

சர்வர் ஆக்சன்ஸை எட்ஜ் ஃபங்ஷன்களாகப் பயன்படுத்தலாம், அவை உங்கள் பயனர்களுக்கு அருகில் உள்ள சேவையகங்களின் உலகளாவிய நெட்வொர்க்கில் இயங்குகின்றன. இது தாமதத்தைக் கணிசமாகக் குறைத்து செயல்திறனை மேம்படுத்தும், குறிப்பாக புவியியல் ரீதியாகப் பரவியுள்ள பயனர்களுக்கு. நிகழ்நேர டேட்டா புதுப்பிப்புகள் அல்லது தனிப்பயனாக்கப்பட்ட உள்ளடக்க விநியோகம் போன்ற குறைந்த தாமதம் தேவைப்படும் சர்வர் ஆக்சன்ஸைக் கையாள எட்ஜ் ஃபங்ஷன்ஸ் சிறந்தவை. Next.js, சர்வர் ஆக்சன்ஸை எட்ஜ் ஃபங்ஷன்களாகப் பயன்படுத்துவதற்கு உள்ளமைக்கப்பட்ட ஆதரவை வழங்குகிறது.

ஸ்ட்ரீமிங் (Streaming)

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

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

React சர்வர் ஆக்சன்ஸைப் பயன்படுத்தும்போது பின்பற்ற வேண்டிய சில சிறந்த நடைமுறைகள் இங்கே:

நிஜ உலக உதாரணங்கள்

பல்வேறு வகையான பயன்பாடுகளில் React சர்வர் ஆக்சன்ஸ் எவ்வாறு பயன்படுத்தப்படலாம் என்பதற்கான சில நிஜ உலக உதாரணங்களைக் கருத்தில் கொள்வோம்:

மின்வணிகப் பயன்பாடு

சமூக ஊடகப் பயன்பாடு

உள்ளடக்க மேலாண்மை அமைப்பு (CMS)

சர்வதேசமயமாக்கல் பரிசீலனைகள்

ஒரு உலகளாவிய பார்வையாளர்களுக்காக பயன்பாடுகளை உருவாக்கும்போது, சர்வதேசமயமாக்கல் (i18n) மற்றும் உள்ளூர்மயமாக்கல் (l10n) ஆகியவற்றைக் கருத்தில் கொள்வது அவசியம். சர்வதேசமயமாக்கப்பட்ட பயன்பாடுகளில் React சர்வர் ஆக்சன்ஸைப் பயன்படுத்துவதற்கான சில பரிசீலனைகள் இங்கே:

உதாரணமாக, ஒரு தேதி உள்ளீடு தேவைப்படும் ஒரு ஃபார்மைச் செயலாக்கும்போது, ஒரு சர்வர் ஆக்சன், பயனரின் உள்ளூர் அமைப்புகளுக்கு ஏற்ப தேதியைப் பாகுபடுத்த `Intl.DateTimeFormat` API ஐப் பயன்படுத்தலாம், இது பயனரின் பிராந்திய அமைப்புகளைப் பொருட்படுத்தாமல் தேதி சரியாகப் புரிந்துகொள்ளப்படுவதை உறுதி செய்கிறது.

முடிவுரை

React சர்வர் ஆக்சன்ஸ், React பயன்பாடுகளில் சர்வர்-சைடு ஃபார்ம் செயலாக்கம் மற்றும் டேட்டா மாற்றங்களை எளிதாக்குவதற்கான ஒரு சக்திவாய்ந்த கருவியாகும். உங்கள் React காம்போனென்ட்களுக்குள் நேரடியாக சர்வர்-சைடு கோடை எழுத உங்களை அனுமதிப்பதன் மூலம், சர்வர் ஆக்சன்ஸ் பாய்லர்பிளேட் கோடைக் குறைக்கிறது, பாதுகாப்பை மேம்படுத்துகிறது, செயல்திறனை அதிகரிக்கிறது, மற்றும் ஆப்டிமிஸ்டிக் அப்டேட்ஸை செயல்படுத்துகிறது. இந்த வழிகாட்டியில் கோடிட்டுக் காட்டப்பட்டுள்ள சிறந்த நடைமுறைகளைப் பின்பற்றுவதன் மூலம், நீங்கள் மிகவும் வலுவான, அளவிடக்கூடிய மற்றும் பராமரிக்கக்கூடிய React பயன்பாடுகளை உருவாக்க சர்வர் ஆக்சன்ஸைப் பயன்படுத்தலாம். React தொடர்ந்து বিকশিত (vikasit) ஆகும்போது, சர்வர் ஆக்சன்ஸ் வலை மேம்பாட்டின் எதிர்காலத்தில் சந்தேகத்திற்கு இடமின்றி பெருகிய முறையில் முக்கிய பங்கு வகிக்கும்.