انتقل إلى محتوى الدرس

Displaying Fallbacks Suspense حدود الانتظار بمكون Suspense

قلّص حجم الحزمة الأولية للتطبيق بتحميل المكونات الثقيلة عند الطلب عبر React.lazy، واعرض واجهات انتظار متماسكة بحدود Suspense وحافظ على سلاسة التفاعل بـ useTransition.
4 صفوف تعليمية
ReactJS
0 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

بما أن المكون المعرف عبر lazy() يُجلب بشكل غير متزامن عند عرضه الأول، تحتاج React لمعرفة ما يجب إظهاره للمستخدم خلال لحظات التحميل؛ ولذلك نحيط المكون الكسول بحد انتظار <Suspense fallback={...}>.

تقبل خاصية fallback أي عنصر JSX خفيف مثل بطاقة هيكلية مؤقتة (Skeleton)، ثم تستبدله React تلقائياً بالمكون الحقيقي فور اكتمال وصول الحزمة:

الصف 2 صورة توضيحية
مخطط رباعي المراحل لدورة React.lazy وSuspense يبدأ بطلب المكون ثم عرض بديل الانتظار فجلب الحزمة وأخيراً إظهار الواجهة
الصف 3 كود برمجي
HTML
import { lazy, Suspense } from 'react';
const ReportChart = lazy(
  () => import('./ReportChart.jsx')
);
function AnalyticsTab() {
  return (
    <Suspense fallback={<p>Loading report...</p>}>
      <ReportChart />
    </Suspense>
  );
}
الصف 4 ملاحظة هامة