تم حلها: رد فعل جهاز التوجيه تحميل كسول

تتمثل المشكلة الرئيسية المتعلقة بالتحميل البطيء في React Router في أنه يمكن أن يتسبب في حدوث مشكلات في الأداء إذا لم يتم تنفيذه بشكل صحيح. يمكن أن يؤدي التحميل البطيء إلى زيادة وقت تحميل الصفحة الأولي ، حيث يلزم تحميل رمز كل مكون بشكل منفصل. بالإضافة إلى ذلك ، إذا لم يتم استخدام أحد المكونات بشكل متكرر ، فقد لا يتم تحميله على الإطلاق ، مما يؤدي إلى إهدار الموارد. أخيرًا ، هناك مشكلات توافق محتملة مع المتصفحات القديمة التي لا تدعم التحميل البطيء.

import React, { Suspense } from 'react';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';

const Home = React.lazy(() => import('./Home'));
const About = React.lazy(() => import('./About'));
const Contact = React.lazy(() => import('./Contact'));
 
function App() { 

  return ( 

    <Router> 

      <Suspense fallback={<div>Loading...</div>}>

        <Switch>  

          <Route exact path="/" component={Home} />  

          <Route path="/about" component={About} />  

          <Route path="/contact" component={Contact} />  

        </Switch>  

      </Suspense> 

    </Router>  ); } export default App;

1. استيراد React ، {Suspense} من "رد فعل" ؛
// يستورد هذا الخط مكتبة React ومكوِّن التشويق من مكتبة React.

2. استيراد {BrowserRouter as Router، Route، Switch} من "React-router-dom" ؛
// يستورد هذا الخط مكونات BrowserRouter و Route و Switch من مكتبة React-router-dom.

3. const Home = React.lazy (() => import ('./ Home')) ؛
// ينشئ هذا السطر ثابتًا يسمى Home يستخدم ميزة التحميل البطيء لـ React لاستيراد مكون يسمى Home من ملف في نفس الدليل مثل هذا الملف (مكون التطبيق).

4. const About = React.lazy (() => import ('./ About')) ؛
// ينشئ هذا السطر ثابتًا يسمى حول يستخدم التحميل البطيء لاستيراد مكون يسمى About بشكل ديناميكي من ملف في نفس الدليل مثل هذا الملف (مكون التطبيق).
const Contact = React.lazy (() => استيراد ('./ جهة اتصال')) ؛ // ينشئ هذا السطر ثابتًا يسمى جهة الاتصال يستخدم التحميل البطيء لاستيراد مكون يسمى جهة الاتصال ديناميكيًا من ملف في نفس الدليل مثل هذا الملف (مكون التطبيق).

5. وظيفة التطبيق () {إرجاع ( // هذه وظيفة سهم تقوم بإرجاع كود JSX ملفوفًا في علامة جهاز التوجيه التي تم استيرادها مسبقًا

6.جار التحميل…

}> // تقوم علامة التشويق هذه بتغليف جميع مساراتنا بالدعائم الاحتياطية للتحميل… إذا كان أي مسار يستغرق وقتًا للتحميل

7. // ستتأكد علامة التبديل من تقديم مسار واحد فقط في وقت واحد

8. // سيعرض هذا المسار المكون الرئيسي عند مطابقة المسار الدقيق "/"

9. // سيعرض هذا المسار حول المكون عند مطابقة المسار "/ about"

10 // سيعرض هذا المسار مكون جهات الاتصال عند مطابقة المسار "/ جهة الاتصال")} تصدير التطبيق الافتراضي ؛ // أخيرًا نغلق جميع العلامات ونصدر تطبيقنا

مشكلة التحميل الكسول

التحميل الكسول هو تقنية تستخدم لتأخير تحميل بعض المكونات حتى يتم الاحتياج إليها. يمكن أن يساعد ذلك في تحسين أداء التطبيق عن طريق تحميل ما هو ضروري فقط في أي وقت. ومع ذلك ، يمكن أن يكون هذا مشكلة عند استخدام React Router ، لأنه لا يدعم التحميل البطيء خارج الصندوق. للتغلب على هذه المشكلة ، يجب على المطورين تكوين مساراتهم يدويًا لتمكين التحميل البطيء. يمكن أن يتضمن ذلك إعداد عمليات استيراد ديناميكية وتقسيم التعليمات البرمجية ، والتي يمكن أن تكون مهام معقدة وتستغرق وقتًا طويلاً. بالإضافة إلى ذلك ، قد تحتاج بعض المكتبات مثل React Loadable إلى استخدامها من أجل تنفيذ التحميل البطيء بشكل صحيح باستخدام React Router.

ما هو رد فعل الحمل البطيء

React lazy load هي إحدى ميزات جهاز React Router التي تسمح بتحميل المكونات عند الطلب. هذا يعني أنه بدلاً من تحميل جميع المكونات دفعة واحدة ، يتم تحميل المكونات الضرورية فقط عند الحاجة. يساعد هذا في تقليل وقت تحميل الصفحة الأولي وتحسين الأداء. كما أنه يسمح بتنظيم أفضل للكود وفصل الاهتمامات ، حيث يمكن تحميل كل مكون بشكل مستقل.

كيف يمكنني استخدام React lazy على جهاز التوجيه الخاص بي

React lazy هي ميزة في React تسمح لك باستيراد المكونات ديناميكيًا. هذا يعني أنه بدلاً من تحميل جميع المكونات مقدمًا ، يمكنك تحميلها حسب الحاجة. يمكن أن يكون هذا مفيدًا لتحسين الأداء في التطبيقات الكبيرة.

من أجل استخدام React lazy على جهاز التوجيه الخاص بك في React Router ، تحتاج إلى لف المكون الذي تريد تحميله البطيء في مكالمة استيراد ديناميكية. علي سبيل المثال:

const MyComponent = React.lazy (() => استيراد ('./ MyComponent')) ؛

بعد ذلك ، عند تحديد مساراتك ، ما عليك سوى تمرير مكون MyComponent إلى مكون المسار كما يلي:

سيؤدي هذا إلى قيام React Router بتحميل مكون MyComponent ديناميكيًا عند التنقل إلى هذا المسار.

الوظائف ذات الصلة:

اترك تعليق