ಕನ್ನಡ

ರಿಯಾಕ್ಟ್‌ನ useFormStatus ಹುಕ್‌ಗೆ ಒಂದು ಸಮಗ್ರ ಮಾರ್ಗದರ್ಶಿ, ಜಾಗತಿಕ ಬಳಕೆದಾರರಿಗಾಗಿ ಆಕರ್ಷಕ ಮತ್ತು ಮಾಹಿತಿಯುಕ್ತ ಫಾರ್ಮ್ ಸಲ್ಲಿಕೆ ಅನುಭವಗಳನ್ನು ರಚಿಸಲು ಡೆವಲಪರ್‌ಗಳಿಗೆ ಅಧಿಕಾರ ನೀಡುತ್ತದೆ.

ರಿಯಾಕ್ಟ್ useFormStatus: ಫಾರ್ಮ್ ಸಲ್ಲಿಕೆ ಸ್ಥಿತಿಯನ್ನು ಕರಗತ ಮಾಡಿಕೊಳ್ಳುವುದು

ಫಾರ್ಮ್‌ಗಳು ಅಸಂಖ್ಯಾತ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳ ಬೆನ್ನೆಲುಬಾಗಿವೆ, ಬಳಕೆದಾರರು ಸರ್ವರ್‌ಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ಮತ್ತು ಡೇಟಾವನ್ನು ಒದಗಿಸಲು ಪ್ರಾಥಮಿಕ ಮಾಧ್ಯಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಸುಗಮ ಮತ್ತು ಮಾಹಿತಿಯುಕ್ತ ಫಾರ್ಮ್ ಸಲ್ಲಿಕೆ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಖಚಿತಪಡಿಸುವುದು ಸಕಾರಾತ್ಮಕ ಬಳಕೆದಾರ ಅನುಭವಗಳನ್ನು ರಚಿಸಲು ನಿರ್ಣಾಯಕವಾಗಿದೆ. ರಿಯಾಕ್ಟ್ 18, useFormStatus ಎಂಬ ಶಕ್ತಿಯುತ ಹುಕ್ ಅನ್ನು ಪರಿಚಯಿಸಿದೆ, ಇದು ಫಾರ್ಮ್ ಸಲ್ಲಿಕೆಯ ಸ್ಥಿತಿಯ ನಿರ್ವಹಣೆಯನ್ನು ಸರಳಗೊಳಿಸಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ. ಈ ಮಾರ್ಗದರ್ಶಿಯು useFormStatus ನ ಸಮಗ್ರ ಅವಲೋಕನವನ್ನು ಒದಗಿಸುತ್ತದೆ, ಅದರ ವೈಶಿಷ್ಟ್ಯಗಳು, ಬಳಕೆಯ ಸಂದರ್ಭಗಳು ಮತ್ತು ಜಾಗತಿಕ ಪ್ರೇಕ್ಷಕರಿಗಾಗಿ ಪ್ರವೇಶಿಸಬಹುದಾದ ಮತ್ತು ಆಕರ್ಷಕ ಫಾರ್ಮ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಅನ್ವೇಷಿಸುತ್ತದೆ.

ರಿಯಾಕ್ಟ್ useFormStatus ಎಂದರೇನು?

useFormStatus ಎಂಬುದು ರಿಯಾಕ್ಟ್ ಹುಕ್ ಆಗಿದ್ದು, ಇದು ಫಾರ್ಮ್‌ನ ಸಲ್ಲಿಕೆಯ ಸ್ಥಿತಿಯ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ. ಇದು ಸರ್ವರ್ ಕ್ರಿಯೆಗಳೊಂದಿಗೆ (server actions) ಮನಬಂದಂತೆ ಕೆಲಸ ಮಾಡಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ, ಇದು ನಿಮ್ಮ ರಿಯಾಕ್ಟ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳಿಂದ ನೇರವಾಗಿ ಸರ್ವರ್-ಸೈಡ್ ಲಾಜಿಕ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ವೈಶಿಷ್ಟ್ಯವಾಗಿದೆ. ಈ ಹುಕ್ ಫಾರ್ಮ್‌ನ ಬಾಕಿ ಇರುವ ಸ್ಥಿತಿ, ಡೇಟಾ, ಮತ್ತು ಸಲ್ಲಿಕೆಯ ಸಮಯದಲ್ಲಿ ಸಂಭವಿಸಿದ ಯಾವುದೇ ದೋಷಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಹೊಂದಿರುವ ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. ಈ ಮಾಹಿತಿಯು ಬಳಕೆದಾರರಿಗೆ ನೈಜ-ಸಮಯದ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಒದಗಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ, ಉದಾಹರಣೆಗೆ ಲೋಡಿಂಗ್ ಸೂಚಕಗಳನ್ನು ಪ್ರದರ್ಶಿಸುವುದು, ಫಾರ್ಮ್ ಅಂಶಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುವುದು ಮತ್ತು ದೋಷ ಸಂದೇಶಗಳನ್ನು ಪ್ರದರ್ಶಿಸುವುದು.

ಸರ್ವರ್ ಕ್ರಿಯೆಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು

useFormStatus ಬಗ್ಗೆ ಆಳವಾಗಿ ತಿಳಿಯುವ ಮೊದಲು, ಸರ್ವರ್ ಕ್ರಿಯೆಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಅತ್ಯಗತ್ಯ. ಸರ್ವರ್ ಕ್ರಿಯೆಗಳು ಸರ್ವರ್‌ನಲ್ಲಿ ಚಾಲನೆಯಾಗುವ ಅಸಮಕಾಲಿಕ ಫಂಕ್ಷನ್‌ಗಳಾಗಿವೆ ಮತ್ತು ಅವುಗಳನ್ನು ರಿಯಾಕ್ಟ್ ಕಾಂಪೊನೆಂಟ್‌ಗಳಿಂದ ನೇರವಾಗಿ ಕರೆಯಬಹುದು. ಫೈಲ್‌ನ ಮೇಲ್ಭಾಗದಲ್ಲಿ 'use server' ನಿರ್ದೇಶನವನ್ನು ಬಳಸಿಕೊಂಡು ಅವುಗಳನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಲಾಗುತ್ತದೆ. ಸರ್ವರ್ ಕ್ರಿಯೆಗಳನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಈ ಕೆಳಗಿನ ಕಾರ್ಯಗಳಿಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ:

ಸರ್ವರ್ ಕ್ರಿಯೆಯ ಒಂದು ಸರಳ ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ:

// actions.js
'use server';

export async function submitForm(formData) {
  // ಸರ್ವರ್ ವಿನಂತಿಯನ್ನು ಅನುಕರಿಸಲು ವಿಳಂಬವನ್ನು ಸಿಮ್ಯುಲೇಟ್ ಮಾಡಿ
  await new Promise(resolve => setTimeout(resolve, 2000));

  const name = formData.get('name');
  const email = formData.get('email');

  if (!name || !email) {
    return { message: 'ದಯವಿಟ್ಟು ಎಲ್ಲಾ ಕ್ಷೇತ್ರಗಳನ್ನು ಭರ್ತಿ ಮಾಡಿ.' };
  }

  // ಯಶಸ್ವಿ ಸಲ್ಲಿಕೆಯನ್ನು ಸಿಮ್ಯುಲೇಟ್ ಮಾಡಿ
  return { message: `${name} ಅವರಿಗಾಗಿ ಫಾರ್ಮ್ ಯಶಸ್ವಿಯಾಗಿ ಸಲ್ಲಿಸಲಾಗಿದೆ!` };
}

ಈ ಕ್ರಿಯೆಯು ಫಾರ್ಮ್ ಡೇಟಾವನ್ನು ಇನ್‌ಪುಟ್ ಆಗಿ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, ವಿಳಂಬವನ್ನು ಅನುಕರಿಸುತ್ತದೆ, ಮತ್ತು ನಂತರ ಯಶಸ್ಸು ಅಥವಾ ದೋಷ ಸಂದೇಶವನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. 'use server' ನಿರ್ದೇಶನವು ಈ ಫಂಕ್ಷನ್ ಸರ್ವರ್‌ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳ್ಳಬೇಕು ಎಂದು ರಿಯಾಕ್ಟ್‌ಗೆ ಹೇಳುತ್ತದೆ.

useFormStatus ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ

useFormStatus ಹುಕ್ ಅನ್ನು ಫಾರ್ಮ್ ಅನ್ನು ರೆಂಡರ್ ಮಾಡುವ ಕಾಂಪೊನೆಂಟ್‌ನೊಳಗೆ ಬಳಸಲಾಗುತ್ತದೆ. ಇದನ್ನು ಆಮದು ಮಾಡಿಕೊಂಡ ಸರ್ವರ್ ಕ್ರಿಯೆಯೊಂದಿಗೆ `action` ಪ್ರೊಪ್ ಅನ್ನು ಬಳಸುವ <form> ಅಂಶದೊಳಗೆ ಬಳಸಬೇಕಾಗುತ್ತದೆ. ಈ ಹುಕ್ ಕೆಳಗಿನ ಪ್ರಾಪರ್ಟಿಗಳೊಂದಿಗೆ ಆಬ್ಜೆಕ್ಟ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ:

ರಿಯಾಕ್ಟ್ ಕಾಂಪೊನೆಂಟ್‌ನಲ್ಲಿ useFormStatus ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಎಂಬುದಕ್ಕೆ ಇಲ್ಲಿದೆ ಒಂದು ಉದಾಹರಣೆ:

'use client'
import { useFormStatus } from 'react-dom';
import { submitForm } from './actions';

function MyForm() {
  const { pending, data, error, action } = useFormStatus();

  return (
    <form action={submitForm}>
      <label htmlFor="name">ಹೆಸರು:</label>
      <input type="text" id="name" name="name" disabled={pending} />
      <label htmlFor="email">ಇಮೇಲ್:</label>
      <input type="email" id="email" name="email" disabled={pending} />
      <button type="submit" disabled={pending}>
        {pending ? 'ಸಲ್ಲಿಸಲಾಗುತ್ತಿದೆ...' : 'ಸಲ್ಲಿಸಿ'}
      </button>
      {error && <p style={{ color: 'red' }}>ದೋಷ: {error.message}</p>}
      {data && data.message && <p style={{ color: 'green' }}>{data.message}</p>}
    </form>
  );
}

export default MyForm;

ಈ ಉದಾಹರಣೆಯಲ್ಲಿ:

useFormStatus ಬಳಸುವುದರ ಪ್ರಯೋಜನಗಳು

useFormStatus ಫಾರ್ಮ್ ಸಲ್ಲಿಕೆ ಸ್ಥಿತಿಯನ್ನು ನಿರ್ವಹಿಸಲು ಹಲವಾರು ಪ್ರಯೋಜನಗಳನ್ನು ನೀಡುತ್ತದೆ:

useFormStatus ಬಳಸಲು ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು

useFormStatus ನ ಪ್ರಯೋಜನಗಳನ್ನು ಗರಿಷ್ಠಗೊಳಿಸಲು, ಈ ಕೆಳಗಿನ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಪರಿಗಣಿಸಿ:

useFormStatus ಗಾಗಿ ಬಳಕೆಯ ಸಂದರ್ಭಗಳು

useFormStatus ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಸನ್ನಿವೇಶಗಳಲ್ಲಿ ಅನ್ವಯಿಸುತ್ತದೆ:

ಅಂತರರಾಷ್ಟ್ರೀಕರಣವನ್ನು (i18n) ಪರಿಹರಿಸುವುದು

ಜಾಗತಿಕ ಪ್ರೇಕ್ಷಕರಿಗಾಗಿ ಫಾರ್ಮ್‌ಗಳನ್ನು ನಿರ್ಮಿಸುವಾಗ, ಅಂತರರಾಷ್ಟ್ರೀಕರಣ (i18n) ನಿರ್ಣಾಯಕವಾಗಿದೆ. useFormStatus ಬಳಸುವಾಗ i18n ಅನ್ನು ಹೇಗೆ ಪರಿಹರಿಸುವುದು ಎಂಬುದು ಇಲ್ಲಿದೆ:

i18next ನೊಂದಿಗೆ ಉದಾಹರಣೆ:

// i18n.js
import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';

import en from './locales/en.json';
import kn from './locales/kn.json'; // Kannada translations

i18n
  .use(initReactI18next)
  .init({
    resources: {
      en: { translation: en },
      kn: { translation: kn },
    },
    lng: 'kn',
    fallbackLng: 'en',
    interpolation: {
      escapeValue: false, // react already safes from xss
    },
  });

export default i18n;

// MyForm.js

import { useTranslation } from 'react-i18next';

function MyForm() {
  const { t } = useTranslation();
  const { pending, data, error, action } = useFormStatus();

  return (
    <form action={submitForm}>
      <label htmlFor="name">{t('name')}:</label>
      <input type="text" id="name" name="name" disabled={pending} />
      <label htmlFor="email">{t('email')}:</label>
      <input type="email" id="email" name="email" disabled={pending} />
      <button type="submit" disabled={pending}>
        {pending ? t('submitting') : t('submit')}
      </button>
      {error && <p style={{ color: 'red' }}>{t('error')}: {t(error.message)}</p>}
      {data && data.message && <p style={{ color: 'green' }}>{t(data.message)}</p>}
    </form>
  );
}

export default MyForm;

ಪ್ರವೇಶಿಸುವಿಕೆ ಪರಿಗಣನೆಗಳು

ಫಾರ್ಮ್‌ಗಳನ್ನು ನಿರ್ಮಿಸುವಾಗ ಪ್ರವೇಶಿಸುವಿಕೆಯನ್ನು ಖಚಿತಪಡಿಸುವುದು ಅತ್ಯಂತ ಮುಖ್ಯ. useFormStatus ಬಳಸುವಾಗ ನಿಮ್ಮ ಫಾರ್ಮ್‌ಗಳನ್ನು ಹೆಚ್ಚು ಪ್ರವೇಶಿಸುವಂತೆ ಮಾಡುವುದು ಹೇಗೆ ಎಂಬುದು ಇಲ್ಲಿದೆ:

ARIA ಗುಣಲಕ್ಷಣಗಳೊಂದಿಗೆ ಉದಾಹರಣೆ:

function MyForm() {
  const { pending, data, error, action } = useFormStatus();

  return (
    <form action={submitForm}>
      <label htmlFor="name">ಹೆಸರು:</label>
      <input
        type="text"
        id="name"
        name="name"
        disabled={pending}
        aria-invalid={!!error} // ದೋಷವಿದ್ದರೆ ಸೂಚಿಸಿ
        aria-describedby={error ? 'name-error' : null} // ದೋಷ ಸಂದೇಶವನ್ನು ಸಂಯೋಜಿಸಿ
      />
      {error && (
        <p id="name-error" style={{ color: 'red' }} aria-live="polite">{error.message}</p>
      )}
      <label htmlFor="email">ಇಮೇಲ್:</label>
      <input type="email" id="email" name="email" disabled={pending} />
      <button type="submit" disabled={pending}>
        {pending ? 'ಸಲ್ಲಿಸಲಾಗುತ್ತಿದೆ...' : 'ಸಲ್ಲಿಸಿ'}
      </button>
      {data && data.message && <p style={{ color: 'green' }}>{data.message}</p>}
    </form>
  );
}

ಮೂಲಭೂತ ಬಳಕೆಯ ಆಚೆಗೆ: ಸುಧಾರಿತ ತಂತ್ರಗಳು

useFormStatus ನ ಮೂಲಭೂತ ಬಳಕೆಯು ನೇರವಾಗಿದ್ದರೂ, ಹಲವಾರು ಸುಧಾರಿತ ತಂತ್ರಗಳು ನಿಮ್ಮ ಫಾರ್ಮ್ ಸಲ್ಲಿಕೆ ಅನುಭವವನ್ನು ಮತ್ತಷ್ಟು ಹೆಚ್ಚಿಸಬಹುದು:

ಸಾಮಾನ್ಯ ಸಮಸ್ಯೆಗಳನ್ನು ನಿವಾರಿಸುವುದು

useFormStatus ಬಳಸುವಾಗ, ನೀವು ಕೆಲವು ಸಾಮಾನ್ಯ ಸಮಸ್ಯೆಗಳನ್ನು ಎದುರಿಸಬಹುದು. ಅವುಗಳನ್ನು ಹೇಗೆ ನಿವಾರಿಸುವುದು ಎಂಬುದು ಇಲ್ಲಿದೆ:

useFormStatus ಗೆ ಪರ್ಯಾಯಗಳು

useFormStatus ಒಂದು ಶಕ್ತಿಯುತ ಸಾಧನವಾಗಿದ್ದರೂ, ಫಾರ್ಮ್ ಸಲ್ಲಿಕೆ ಸ್ಥಿತಿಯನ್ನು ನಿರ್ವಹಿಸಲು ಪರ್ಯಾಯ ವಿಧಾನಗಳಿವೆ, ವಿಶೇಷವಾಗಿ ಹಳೆಯ ರಿಯಾಕ್ಟ್ ಆವೃತ್ತಿಗಳಲ್ಲಿ ಅಥವಾ ಸಂಕೀರ್ಣ ಫಾರ್ಮ್ ಲಾಜಿಕ್‌ನೊಂದಿಗೆ ವ್ಯವಹರಿಸುವಾಗ:

ವಿಧಾನದ ಆಯ್ಕೆಯು ನಿಮ್ಮ ಫಾರ್ಮ್‌ನ ಸಂಕೀರ್ಣತೆ ಮತ್ತು ನಿಮ್ಮ ನಿರ್ದಿಷ್ಟ ಅವಶ್ಯಕತೆಗಳನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ. ಸರಳ ಫಾರ್ಮ್‌ಗಳಿಗಾಗಿ, useFormStatus ಆಗಾಗ್ಗೆ ಅತ್ಯಂತ ನೇರ ಮತ್ತು ಪರಿಣಾಮಕಾರಿ ಪರಿಹಾರವಾಗಿದೆ. ಹೆಚ್ಚು ಸಂಕೀರ್ಣ ಫಾರ್ಮ್‌ಗಳಿಗಾಗಿ, ಫಾರ್ಮ್ ಲೈಬ್ರರಿ ಅಥವಾ ಜಾಗತಿಕ ಸ್ಥಿತಿ ನಿರ್ವಹಣೆ ಪರಿಹಾರವು ಹೆಚ್ಚು ಸೂಕ್ತವಾಗಿರಬಹುದು.

ತೀರ್ಮಾನ

useFormStatus ರಿಯಾಕ್ಟ್ ಪರಿಸರ ವ್ಯವಸ್ಥೆಗೆ ಒಂದು ಮೌಲ್ಯಯುತ ಸೇರ್ಪಡೆಯಾಗಿದೆ, ಇದು ಫಾರ್ಮ್ ಸಲ್ಲಿಕೆ ಸ್ಥಿತಿಯ ನಿರ್ವಹಣೆಯನ್ನು ಸರಳಗೊಳಿಸುತ್ತದೆ ಮತ್ತು ಡೆವಲಪರ್‌ಗಳಿಗೆ ಹೆಚ್ಚು ಆಕರ್ಷಕ ಮತ್ತು ಮಾಹಿತಿಯುಕ್ತ ಬಳಕೆದಾರ ಅನುಭವಗಳನ್ನು ರಚಿಸಲು ಅನುವು ಮಾಡಿಕೊಡುತ್ತದೆ. ಅದರ ವೈಶಿಷ್ಟ್ಯಗಳು, ಉತ್ತಮ ಅಭ್ಯಾಸಗಳು, ಮತ್ತು ಬಳಕೆಯ ಸಂದರ್ಭಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಮೂಲಕ, ಜಾಗತಿಕ ಪ್ರೇಕ್ಷಕರಿಗಾಗಿ ಪ್ರವೇಶಿಸಬಹುದಾದ, ಅಂತರರಾಷ್ಟ್ರೀಕರಿಸಿದ ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಯ ಫಾರ್ಮ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ನೀವು useFormStatus ಅನ್ನು ಬಳಸಿಕೊಳ್ಳಬಹುದು. useFormStatus ಅನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳುವುದು ಅಭಿವೃದ್ಧಿಯನ್ನು ಸುಗಮಗೊಳಿಸುತ್ತದೆ, ಬಳಕೆದಾರರ ಸಂವಹನವನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ, ಮತ್ತು ಅಂತಿಮವಾಗಿ ಹೆಚ್ಚು ದೃಢವಾದ ಮತ್ತು ಬಳಕೆದಾರ-ಸ್ನೇಹಿ ವೆಬ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಕೊಡುಗೆ ನೀಡುತ್ತದೆ.

ಜಾಗತಿಕ ಪ್ರೇಕ್ಷಕರಿಗಾಗಿ ಫಾರ್ಮ್‌ಗಳನ್ನು ನಿರ್ಮಿಸುವಾಗ ಪ್ರವೇಶಿಸುವಿಕೆ, ಅಂತರರಾಷ್ಟ್ರೀಕರಣ, ಮತ್ತು ಕಾರ್ಯಕ್ಷಮತೆಗೆ ಆದ್ಯತೆ ನೀಡಲು ಮರೆಯದಿರಿ. ಈ ಮಾರ್ಗದರ್ಶಿಯಲ್ಲಿ ವಿವರಿಸಿರುವ ಉತ್ತಮ ಅಭ್ಯಾಸಗಳನ್ನು ಅನುಸರಿಸುವ ಮೂಲಕ, ನೀವು ಪ್ರತಿಯೊಬ್ಬರೂ, ಅವರ ಸ್ಥಳ ಅಥವಾ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಲೆಕ್ಕಿಸದೆ, ಬಳಸಬಹುದಾದ ಫಾರ್ಮ್‌ಗಳನ್ನು ರಚಿಸಬಹುದು. ಈ ವಿಧಾನವು ಎಲ್ಲಾ ಬಳಕೆದಾರರಿಗೆ ಹೆಚ್ಚು ಒಳಗೊಳ್ಳುವ ಮತ್ತು ಪ್ರವೇಶಿಸಬಹುದಾದ ವೆಬ್‌ಗೆ ಕೊಡುಗೆ ನೀಡುತ್ತದೆ.