റിയാക്ട് ലേസി ലോഡിംഗ്: ഒപ്റ്റിമൈസ് ചെയ്ത പ്രകടനത്തിനായി കോമ്പോണന്റ് കോഡ് സ്പ്ലിറ്റിംഗ് | MLOG | MLOG ); } export default ImageGallery;

കൂടാതെ Image.js കോമ്പോണന്റ്:


import React from 'react';

const Image = ({ src, alt }) => {
  return {alt};
};

export default Image;

ഈ ഉദാഹരണത്തിൽ, ഓരോ ചിത്രവും ഒരു <Suspense> കോമ്പോണന്റിൽ പൊതിഞ്ഞിരിക്കുന്നു, അതിനാൽ ഓരോ ചിത്രവും ലോഡ് ചെയ്യുമ്പോൾ ഒരു ലോഡിംഗ് സന്ദേശം പ്രദർശിപ്പിക്കും. ചിത്രങ്ങൾ ഡൗൺലോഡ് ചെയ്യുമ്പോൾ പേജ് മുഴുവൻ ബ്ലോക്ക് ആകുന്നത് ഇത് തടയുന്നു.

വിപുലമായ ടെക്നിക്കുകളും പരിഗണനകളും

1. എറർ ബൗണ്ടറികൾ

ലേസി ലോഡിംഗ് ഉപയോഗിക്കുമ്പോൾ, ലോഡിംഗ് പ്രക്രിയയിൽ ഉണ്ടാകാനിടയുള്ള പിശകുകൾ കൈകാര്യം ചെയ്യേണ്ടത് പ്രധാനമാണ്. ഈ പിശകുകൾ പിടിച്ചെടുക്കാനും ഒരു ഫാൾബാക്ക് UI പ്രദർശിപ്പിക്കാനും എറർ ബൗണ്ടറികൾ ഉപയോഗിക്കാം. നിങ്ങൾക്ക് ഇതുപോലൊരു എറർ ബൗണ്ടറി കോമ്പോണന്റ് ഉണ്ടാക്കാം:


import React, { Component } from 'react';

class ErrorBoundary extends Component {
  constructor(props) {
    super(props);
    this.state = { hasError: false };
  }

  static getDerivedStateFromError(error) {
    // ഫാൾബാക്ക് UI കാണിക്കാൻ സ്റ്റേറ്റ് അപ്‌ഡേറ്റ് ചെയ്യുക.
    return { hasError: true };
  }

  componentDidCatch(error, errorInfo) {
    // നിങ്ങൾക്ക് ഒരു എറർ റിപ്പോർട്ടിംഗ് സർവീസിലേക്ക് എറർ ലോഗ് ചെയ്യാനും കഴിയും
    console.error(error, errorInfo);
  }

  render() {
    if (this.state.hasError) {
      // നിങ്ങൾക്ക് ഇഷ്ടമുള്ള ഫാൾബാക്ക് UI റെൻഡർ ചെയ്യാം
      return 

Something went wrong.

; } return this.props.children; } } export default ErrorBoundary;

എന്നിട്ട് <Suspense> കോമ്പോണന്റിനെ <ErrorBoundary> ഉപയോഗിച്ച് പൊതിയുക:



  Loading...}>
    
  


MyComponent ലോഡ് ചെയ്യുമ്പോൾ ഒരു പിശക് സംഭവിച്ചാൽ, <ErrorBoundary> അത് പിടിച്ചെടുക്കുകയും ഫാൾബാക്ക് UI പ്രദർശിപ്പിക്കുകയും ചെയ്യും.

2. സെർവർ-സൈഡ് റെൻഡറിംഗ് (SSR), ലേസി ലോഡിംഗ്

നിങ്ങളുടെ ആപ്ലിക്കേഷന്റെ പ്രാരംഭ ലോഡ് സമയം മെച്ചപ്പെടുത്തുന്നതിന് സെർവർ-സൈഡ് റെൻഡറിംഗിനൊപ്പം (SSR) ലേസി ലോഡിംഗ് ഉപയോഗിക്കാനും കഴിയും. എന്നിരുന്നാലും, ഇതിന് ചില അധിക കോൺഫിഗറേഷൻ ആവശ്യമാണ്. സെർവറിന് ഡൈനാമിക് ഇമ്പോർട്ടുകൾ ശരിയായി കൈകാര്യം ചെയ്യാൻ കഴിയുമെന്നും ലേസി-ലോഡഡ് കോമ്പോണന്റുകൾ ക്ലയിന്റ്-സൈഡിൽ ശരിയായി ഹൈഡ്രേറ്റ് ചെയ്യപ്പെടുന്നുണ്ടെന്നും നിങ്ങൾ ഉറപ്പാക്കേണ്ടതുണ്ട്.

Next.js, Gatsby.js പോലുള്ള ടൂളുകൾ SSR പരിതസ്ഥിതികളിൽ ലേസി ലോഡിംഗിനും കോഡ് സ്പ്ലിറ്റിംഗിനും ബിൽറ്റ്-ഇൻ പിന്തുണ നൽകുന്നു, ഇത് പ്രക്രിയ വളരെ എളുപ്പമാക്കുന്നു.

3. ലേസി-ലോഡഡ് കോമ്പോണന്റുകൾ പ്രീലോഡ് ചെയ്യുക

ചില സന്ദർഭങ്ങളിൽ, ഒരു ലേസി-ലോഡഡ് കോമ്പോണന്റ് യഥാർത്ഥത്തിൽ ആവശ്യമുള്ളതിന് മുമ്പ് പ്രീലോഡ് ചെയ്യാൻ നിങ്ങൾ ആഗ്രഹിച്ചേക്കാം. ഉടൻ റെൻഡർ ചെയ്യാൻ സാധ്യതയുള്ള കോമ്പോണന്റുകൾക്ക് ഇത് ഉപയോഗപ്രദമാണ്, ഉദാഹരണത്തിന് പേജിന്റെ താഴെ ഭാഗത്തുള്ളതും എന്നാൽ സ്ക്രോൾ ചെയ്യുമ്പോൾ കാണാൻ സാധ്യതയുള്ളതുമായ കോമ്പോണന്റുകൾ. import() ഫംഗ്ഷൻ നേരിട്ട് വിളിച്ച് നിങ്ങൾക്ക് ഒരു കോമ്പോണന്റ് പ്രീലോഡ് ചെയ്യാം:


import('./MyComponent'); // MyComponent പ്രീലോഡ് ചെയ്യുക

ഇത് കോമ്പോണന്റ് പശ്ചാത്തലത്തിൽ ലോഡ് ചെയ്യാൻ തുടങ്ങും, അതിനാൽ ഇത് യഥാർത്ഥത്തിൽ റെൻഡർ ചെയ്യുമ്പോൾ വേഗത്തിൽ ലഭ്യമാകും.

4. വെബ്പാക്ക് മാജിക് കമന്റുകൾ ഉപയോഗിച്ചുള്ള ഡൈനാമിക് ഇമ്പോർട്ടുകൾ

വെബ്പാക്കിന്റെ "മാജിക് കമന്റുകൾ" ജനറേറ്റ് ചെയ്ത കോഡ് ഭാഗങ്ങളുടെ പേരുകൾ ഇഷ്ടാനുസൃതമാക്കാൻ ഒരു മാർഗം നൽകുന്നു. നിങ്ങളുടെ ആപ്ലിക്കേഷന്റെ ബണ്ടിൽ ഘടന ഡീബഗ് ചെയ്യുന്നതിനും വിശകലനം ചെയ്യുന്നതിനും ഇത് സഹായകമാകും. ഉദാഹരണത്തിന്:


const MyComponent = React.lazy(() => import(/* webpackChunkName: "my-component" */ './MyComponent'));

ഇത് ഒരു സാധാരണ പേരിന് പകരം "my-component.js" (അല്ലെങ്കിൽ സമാനമായ) പേരുള്ള ഒരു കോഡ് ചങ്ക് ഉണ്ടാക്കും.

5. സാധാരണയായി സംഭവിക്കുന്ന തെറ്റുകൾ ഒഴിവാക്കുക

യഥാർത്ഥ ലോക ഉദാഹരണങ്ങളും ഉപയോഗങ്ങളും

റിയാക്ട് ആപ്ലിക്കേഷനുകളുടെ പ്രകടനം മെച്ചപ്പെടുത്തുന്നതിന് ലേസി ലോഡിംഗ് വിവിധ സാഹചര്യങ്ങളിൽ പ്രയോഗിക്കാൻ കഴിയും. ചില ഉദാഹരണങ്ങൾ ഇതാ:

ഉദാഹരണം: അന്താരാഷ്ട്ര ഇ-കൊമേഴ്‌സ് വെബ്സൈറ്റ്

ആഗോളതലത്തിൽ ഉൽപ്പന്നങ്ങൾ വിൽക്കുന്ന ഒരു ഇ-കൊമേഴ്‌സ് വെബ്സൈറ്റ് സങ്കൽപ്പിക്കുക. വിവിധ രാജ്യങ്ങളിൽ വ്യത്യസ്ത കറൻസികൾ, ഭാഷകൾ, ഉൽപ്പന്ന കാറ്റലോഗുകൾ എന്നിവ ഉണ്ടായിരിക്കാം. ഓരോ രാജ്യത്തിനുമുള്ള എല്ലാ ഡാറ്റയും മുൻകൂട്ടി ലോഡ് ചെയ്യുന്നതിനു പകരം, ഉപയോക്താവ് സൈറ്റ് സന്ദർശിക്കുമ്പോൾ മാത്രം അവരുടെ ലൊക്കേഷന് അനുയോജ്യമായ ഡാറ്റ ലോഡ് ചെയ്യാൻ നിങ്ങൾക്ക് ലേസി ലോഡിംഗ് ഉപയോഗിക്കാം.


const CurrencyFormatter = React.lazy(() => import(`./CurrencyFormatter/${userCountry}`))
const ProductCatalog = React.lazy(() => import(`./ProductCatalog/${userCountry}`))

function ECommerceSite() {
  const userCountry = getUserCountry(); // ഉപയോക്താവിന്റെ രാജ്യം നിർണ്ണയിക്കാനുള്ള ഫംഗ്ഷൻ

  return (
    Loading content for your region...}>
      
      
    
  );
}

ഉപസംഹാരം

റിയാക്ട് ആപ്ലിക്കേഷനുകളുടെ പ്രകടനം ഒപ്റ്റിമൈസ് ചെയ്യുന്നതിനുള്ള ശക്തമായ സാങ്കേതികതകളാണ് ലേസി ലോഡിംഗും കോമ്പോണന്റ് കോഡ് സ്പ്ലിറ്റിംഗും. കോമ്പോണന്റുകൾ ആവശ്യമുള്ളപ്പോൾ മാത്രം ലോഡ് ചെയ്യുന്നതിലൂടെ, നിങ്ങൾക്ക് പ്രാരംഭ ലോഡ് സമയം ഗണ്യമായി കുറയ്ക്കാനും ഉപയോക്തൃ അനുഭവം മെച്ചപ്പെടുത്താനും നിങ്ങളുടെ SEO മെച്ചപ്പെടുത്താനും കഴിയും. റിയാക്ടിന്റെ ബിൽറ്റ്-ഇൻ React.lazy(), <Suspense> കോമ്പോണന്റുകൾ നിങ്ങളുടെ പ്രോജക്റ്റുകളിൽ ലേസി ലോഡിംഗ് നടപ്പിലാക്കുന്നത് എളുപ്പമാക്കുന്നു. ആഗോള പ്രേക്ഷകർക്കായി വേഗതയേറിയതും കൂടുതൽ പ്രതികരണശേഷിയുള്ളതും ആകർഷകവുമായ വെബ് ആപ്ലിക്കേഷനുകൾ നിർമ്മിക്കുന്നതിന് ഈ സാങ്കേതികതകൾ സ്വീകരിക്കുക.

ലേസി ലോഡിംഗ് നടപ്പിലാക്കുമ്പോൾ എല്ലായ്പ്പോഴും ഉപയോക്തൃ അനുഭവം പരിഗണിക്കുക. വിവരദായകമായ ഫാൾബാക്ക് UI-കൾ നൽകുക, ഉണ്ടാകാനിടയുള്ള പിശകുകൾ ഭംഗിയായി കൈകാര്യം ചെയ്യുക, നിങ്ങൾ ആഗ്രഹിച്ച ഫലങ്ങൾ നേടുന്നുണ്ടെന്ന് ഉറപ്പാക്കാൻ നിങ്ങളുടെ ആപ്ലിക്കേഷന്റെ പ്രകടനം ശ്രദ്ധാപൂർവ്വം വിശകലനം ചെയ്യുക. വ്യത്യസ്ത സമീപനങ്ങൾ പരീക്ഷിക്കുന്നതിൽ ഭയപ്പെടരുത്, നിങ്ങളുടെ പ്രത്യേക ആവശ്യങ്ങൾക്ക് ഏറ്റവും മികച്ച പരിഹാരം കണ്ടെത്തുക.