అప్లికేషన్ పనితీరు, వినియోగదారు అనుభవం మరియు ప్రారంభ లోడ్ సమయాలను గణనీయంగా మెరుగుపరచడానికి కాంపోనెంట్ కోడ్ స్ప్లిట్టింగ్తో రియాక్ట్ లేజీ లోడింగ్ను ఎలా అమలు చేయాలో తెలుసుకోండి.
రియాక్ట్ లేజీ లోడింగ్: కాంపోనెంట్ కోడ్ స్ప్లిట్టింగ్తో పనితీరును పెంచడం
నేటి వెబ్ డెవలప్మెంట్ రంగంలో, పనితీరు చాలా ముఖ్యం. వినియోగదారులు వేగవంతమైన లోడింగ్ సమయాలు మరియు సున్నితమైన పరస్పర చర్యలను ఆశిస్తారు. పెద్ద జావాస్క్రిప్ట్ బండిల్స్, ముఖ్యంగా సంక్లిష్టమైన రియాక్ట్ అప్లికేషన్లలో, ప్రారంభ లోడ్ సమయాలు మరియు మొత్తం వినియోగదారు అనుభవాన్ని గణనీయంగా ప్రభావితం చేస్తాయి. దీనిని పరిష్కరించడానికి ఒక శక్తివంతమైన సాంకేతికత లేజీ లోడింగ్, ప్రత్యేకంగా కాంపోనెంట్ కోడ్ స్ప్లిట్టింగ్. ఈ వ్యాసం React.lazy
మరియు Suspense
ఉపయోగించి రియాక్ట్ లేజీ లోడింగ్ను అర్థం చేసుకోవడానికి మరియు అమలు చేయడానికి ఒక సమగ్ర మార్గదర్శినిని అందిస్తుంది.
లేజీ లోడింగ్ మరియు కోడ్ స్ప్లిట్టింగ్ అంటే ఏమిటి?
లేజీ లోడింగ్, ఆన్-డిమాండ్ లోడింగ్ అని కూడా పిలుస్తారు, ఇది వనరులను (మన సందర్భంలో, రియాక్ట్ కాంపోనెంట్స్) అవి వాస్తవంగా అవసరమయ్యే వరకు లోడ్ చేయడాన్ని ఆలస్యం చేసే ఒక సాంకేతికత. అప్లికేషన్ యొక్క మొత్తం కోడ్ను ముందుగానే లోడ్ చేయడానికి బదులుగా, ప్రారంభంలో అవసరమైన భాగాలు మాత్రమే లోడ్ చేయబడతాయి మరియు మిగిలిన కోడ్ వినియోగదారు ఒక నిర్దిష్ట మార్గానికి నావిగేట్ చేసినప్పుడు లేదా ఒక నిర్దిష్ట కాంపోనెంట్తో పరస్పరం సంప్రదించినప్పుడు అసమకాలికంగా లోడ్ చేయబడుతుంది. ఇది ప్రారంభ బండిల్ పరిమాణాన్ని గణనీయంగా తగ్గిస్తుంది మరియు టైమ్ టు ఇంటరాక్టివ్ (TTI)ని మెరుగుపరుస్తుంది.
కోడ్ స్ప్లిట్టింగ్ అనేది మీ అప్లికేషన్ కోడ్ను చిన్న, మరింత నిర్వహించదగిన భాగాలుగా (బండిల్స్) విభజించే ప్రక్రియ. ఈ బండిల్స్ను స్వతంత్రంగా మరియు ఆన్-డిమాండ్లో లోడ్ చేయవచ్చు. రియాక్ట్ లేజీ లోడింగ్ కాంపోనెంట్స్ను అవసరమైనప్పుడు మాత్రమే లోడ్ చేయడానికి కోడ్ స్ప్లిట్టింగ్ను ఉపయోగిస్తుంది.
లేజీ లోడింగ్ మరియు కోడ్ స్ప్లిట్టింగ్ వల్ల కలిగే ప్రయోజనాలు
- ప్రారంభ లోడ్ సమయం మెరుగుపడుతుంది: ప్రారంభ బండిల్ పరిమాణాన్ని తగ్గించడం ద్వారా, బ్రౌజర్ ముందుగా తక్కువ జావాస్క్రిప్ట్ను డౌన్లోడ్ చేసి, పార్స్ చేస్తుంది, ఫలితంగా పేజీ లోడ్ సమయాలు వేగవంతం అవుతాయి. నెమ్మదిగా ఉండే నెట్వర్క్ కనెక్షన్లు లేదా పరికరాలలో ఉన్న వినియోగదారులకు ఇది చాలా ముఖ్యం.
- మెరుగైన వినియోగదారు అనుభవం: వేగవంతమైన లోడింగ్ సమయాలు మరింత ప్రతిస్పందనాత్మక మరియు ఆనందించే వినియోగదారు అనుభవానికి దారితీస్తాయి, బౌన్స్ రేట్లను తగ్గించి, వినియోగదారు నిమగ్నతను పెంచుతాయి.
- వనరుల వినియోగం తగ్గడం: అవసరమైన కోడ్ను మాత్రమే లోడ్ చేయడం అప్లికేషన్ యొక్క మెమరీ ఫుట్ప్రింట్ను తగ్గిస్తుంది, ఇది ముఖ్యంగా మొబైల్ పరికరాలకు ప్రయోజనకరంగా ఉంటుంది.
- మెరుగైన SEO: సెర్చ్ ఇంజన్లు వేగవంతమైన లోడింగ్ సమయాలు ఉన్న వెబ్సైట్లకు ప్రాధాన్యత ఇస్తాయి, ఇది మీ వెబ్సైట్ యొక్క సెర్చ్ ఇంజన్ ర్యాంకింగ్ను మెరుగుపరుస్తుంది.
React.lazy
మరియు Suspense
తో రియాక్ట్ లేజీ లోడింగ్ను అమలు చేయడం
రియాక్ట్ React.lazy
మరియు Suspense
ఉపయోగించి కాంపోనెంట్స్ను లేజీ లోడింగ్ చేయడానికి ఒక అంతర్నిర్మిత యంత్రాంగాన్ని అందిస్తుంది. React.lazy
ఒక కాంపోనెంట్ను డైనమిక్గా దిగుమతి చేసుకోవడానికి మిమ్మల్ని అనుమతిస్తుంది, అయితే Suspense
కాంపోనెంట్ లోడ్ అవుతున్నప్పుడు ఫాల్బ్యాక్ UIని ప్రదర్శించడానికి ఒక మార్గాన్ని అందిస్తుంది.
దశ 1: React.lazy
తో డైనమిక్ ఇంపోర్ట్స్
React.lazy
import()
ను పిలిచే ఒక ఫంక్షన్ను తీసుకుంటుంది. import()
ఫంక్షన్ అనేది ఒక డైనమిక్ ఇంపోర్ట్, ఇది ఒక ప్రామిస్ను తిరిగి ఇస్తుంది, ఇది మీరు లేజీ లోడ్ చేయాలనుకుంటున్న కాంపోనెంట్ను కలిగి ఉన్న మాడ్యూల్కు పరిష్కారమవుతుంది.
import React, { lazy, Suspense } from 'react';
const MyComponent = lazy(() => import('./MyComponent'));
ఈ ఉదాహరణలో, MyComponent
రెండర్ అయ్యే వరకు లోడ్ కాదు. import('./MyComponent')
స్టేట్మెంట్ ./MyComponent
ఫైల్ నుండి కాంపోనెంట్ను డైనమిక్గా దిగుమతి చేస్తుంది. పాత్ ప్రస్తుత ఫైల్కు సంబంధించి ఉంటుందని గమనించండి.
దశ 2: లోడింగ్ స్టేట్స్ను నిర్వహించడానికి Suspense
ను ఉపయోగించడం
లేజీ లోడింగ్ కాంపోనెంట్స్ యొక్క అసమకాలిక లోడింగ్ను కలిగి ఉంటుంది కాబట్టి, లోడింగ్ స్టేట్ను నిర్వహించడానికి మరియు కాంపోనెంట్ పొందుతున్నప్పుడు ఫాల్బ్యాక్ UIని ప్రదర్శించడానికి మీకు ఒక మార్గం అవసరం. ఇక్కడే Suspense
వస్తుంది. Suspense
అనేది ఒక రియాక్ట్ కాంపోనెంట్, ఇది దాని పిల్లలు సిద్ధమయ్యే వరకు వాటి రెండరింగ్ను 'సస్పెండ్' చేయడానికి మిమ్మల్ని అనుమతిస్తుంది. ఇది fallback
ప్రాప్ను తీసుకుంటుంది, ఇది పిల్లలు లోడ్ అవుతున్నప్పుడు రెండర్ చేయవలసిన UIని నిర్దేశిస్తుంది.
import React, { lazy, Suspense } from 'react';
const MyComponent = lazy(() => import('./MyComponent'));
function App() {
return (
Loading...
ఈ ఉదాహరణలో, Suspense
కాంపోనెంట్ MyComponent
ను చుట్టి ఉంటుంది. MyComponent
లోడ్ అవుతున్నప్పుడు, fallback
ప్రాప్ (
) రెండర్ అవుతుంది. MyComponent
లోడ్ అయిన తర్వాత, అది ఫాల్బ్యాక్ UIని భర్తీ చేస్తుంది.
ఉదాహరణ: రియాక్ట్ రూటర్ అప్లికేషన్లో ఒక రూట్ను లేజీ లోడింగ్ చేయడం
రియాక్ట్ రూటర్ అప్లికేషన్లోని రూట్స్ కోసం లేజీ లోడింగ్ చాలా ఉపయోగకరంగా ఉంటుంది. మీరు మీ అప్లికేషన్ యొక్క మొత్తం పేజీలను లేదా విభాగాలను లేజీ లోడ్ చేయవచ్చు, మీ వెబ్సైట్ యొక్క ప్రారంభ లోడ్ సమయాన్ని మెరుగుపరచవచ్చు.
import React, { lazy, Suspense } from 'react';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
const Home = lazy(() => import('./pages/Home'));
const About = lazy(() => import('./pages/About'));
const Contact = lazy(() => import('./pages/Contact'));
function App() {
return (
Loading...