React Suspense வள ஒருங்கிணைப்பு: பல-வளங்கள் ஏற்றுதல் நிர்வாகத்தில் தேர்ச்சி பெறுதல் | MLOG | MLOG

நன்மைகள்:

தீமைகள்:

2. சார்புகளுடன் தொடர்ச்சியான ஏற்றுதல்

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

உதாரணம்: முதலில் பயனர் தரவை ஏற்றவும், பின்னர் அவர்களின் இடுகைகளைப் பெற பயனர் ஐடியைப் பயன்படுத்தவும்.

            
import React, { Suspense } from 'react';
import fetchData from './fetchData';

const userResource = fetchData('/api/user');

function UserPosts({ userId }) {
  const postsResource = fetchData(`/api/posts?userId=${userId}`);
  const posts = postsResource.read();

  return (
    
    {posts.map((post) => (
  • {post.title}
  • ))}
); } function UserProfile() { const user = userResource.read(); return (

{user.name}

{user.bio}

Posts

Loading posts...
}>
); } function App() { return ( Loading user profile...}> ); } export default App;

நன்மைகள்:

தீமைகள்:

3. இணை மற்றும் தொடர்ச்சியான ஏற்றுதலை இணைத்தல்

பல காட்சிகளில், செயல்திறனை மேம்படுத்த நீங்கள் இரண்டையும் இணைக்கலாம். சுயாதீனமான வளங்களை இணையாக ஏற்றவும், பின்னர் சுயாதீனமானவை ஏற்றப்பட்ட பிறகு சார்புடைய வளங்களை தொடர்ச்சியாக ஏற்றவும். உதாரணம்: பயனர் தரவு மற்றும் சமீபத்திய செயல்பாட்டை இணையாக ஏற்றவும். பின்னர், பயனர் தரவு ஏற்றப்பட்ட பிறகு, பயனரின் இடுகைகளைப் பெறவும்.

            
import React, { Suspense } from 'react';
import fetchData from './fetchData';

const userResource = fetchData('/api/user');
const activityResource = fetchData('/api/activity');

function UserPosts({ userId }) {
  const postsResource = fetchData(`/api/posts?userId=${userId}`);
  const posts = postsResource.read();

  return (
    
    {posts.map((post) => (
  • {post.title}
  • ))}
); } function UserProfile() { const user = userResource.read(); const activity = activityResource.read(); return (

{user.name}

{user.bio}

Last activity: {activity.date}

Posts

Loading posts...
}>
); } function App() { return ( Loading user profile...}> ); } export default App;

இந்த எடுத்துக்காட்டில், `userResource` மற்றும் `activityResource` இணையாக பெறப்படுகின்றன. பயனர் தரவு கிடைத்ததும், `UserPosts` கூறு ரெண்டரிங் செய்யப்பட்டு, பயனர் இடுகைகளுக்கான கோரிக்கையைத் தூண்டுகிறது.

நன்மைகள்:

தீமைகள்:

4. வள பகிர்வுக்கான React Context ஐப் பயன்படுத்துதல்

React Context ஐப் பயன்படுத்தி கூறுகள் இடையே வளங்களைப் பகிரலாம் மற்றும் ஒரே தரவை பல முறை பெறுவதைத் தவிர்க்கலாம். பல கூறுகள் ஒரே வளத்தை அணுக வேண்டும் போது இது குறிப்பாக பயனுள்ளதாக இருக்கும்.

உதாரணம்:

            
import React, { createContext, useContext, Suspense } from 'react';
import fetchData from './fetchData';

const UserContext = createContext(null);

function UserProvider({ children }) {
  const userResource = fetchData('/api/user');

  return (
    
      {children}
    
  );
}

function UserProfile() {
  const userResource = useContext(UserContext);
  const user = userResource.read();

  return (
    

{user.name}

{user.bio}

); } function UserAvatar() { const userResource = useContext(UserContext); const user = userResource.read(); return ( {user.name} ); } function App() { return ( Loading user profile...
}> ); } export default App;

இந்த எடுத்துக்காட்டில், `UserProvider` பயனர் தரவைப் பெற்று, `UserContext` வழியாக அதன் அனைத்து குழந்தைகளுக்கும் வழங்குகிறது. `UserProfile` மற்றும் `UserAvatar` கூறுகள் இரண்டும் ஒரே பயனர் தரவை மீண்டும் பெறாமல் அணுக முடியும்.

நன்மைகள்:

தீமைகள்:

5. பிழை எல்லைகள் மூலம் வலுவான பிழை கையாளுதல்

தரவு பெறுதல் அல்லது ரெண்டரிங் போது ஏற்படும் பிழைகளைக் கையாள Suspense பிழை எல்லைகளுடன் நன்றாக வேலை செய்கிறது. பிழை எல்லைகள் அதன் குழந்தை கூறு மரத்தில் எந்த JavaScript பிழைகளையும் பிடிக்கின்றன, அந்த பிழைகளைப் பதிவு செய்கின்றன, மேலும் முழு கூறு மரத்தையும் செயலிழக்கச் செய்வதற்குப் பதிலாக ஒரு மாற்று UI ஐக் காட்டுகின்றன.

உதாரணம்:

            
import React, { Suspense } from 'react';
import fetchData from './fetchData';
import ErrorBoundary from './ErrorBoundary';

const userResource = fetchData('/api/user');

function UserProfile() {
  const user = userResource.read();

  return (
    

{user.name}

{user.bio}

); } function App() { return ( Something went wrong!
}> Loading user profile...}> ); } export default App;

இந்த எடுத்துக்காட்டில், `UserProfile` கூறு ரெண்டரிங் செய்யப்படும்போது அல்லது பயனர் தரவு பெறப்படும்போது ஏற்படும் எந்த பிழைகளையும் `ErrorBoundary` பிடிக்கிறது. ஒரு பிழை ஏற்பட்டால், அது ஒரு மாற்று UI ஐக் காட்டுகிறது, இது முழு பயன்பாடும் செயலிழப்பதைத் தடுக்கிறது.

நன்மைகள்:

தீமைகள்:

உலகளாவிய பார்வையாளர்களுக்கான நடைமுறை பரிசீலனைகள்

உலகளாவிய பார்வையாளர்களுக்காக React பயன்பாடுகளை உருவாக்கும்போது, ​​பின்வருவனவற்றைக் கவனியுங்கள்:

செயல்படுத்தக்கூடிய நுண்ணறிவுகள் மற்றும் சிறந்த நடைமுறைகள்

React Suspense உடன் பல-வளங்கள் ஏற்றுதலை நிர்வகிப்பதற்கான சில செயல்படுத்தக்கூடிய நுண்ணறிவுகள் மற்றும் சிறந்த நடைமுறைகள் இங்கே:

முடிவுரை

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