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

Checking HTTP Status and JSON فحص حالة الاستجابة وتحليل JSON

تعلّم كيفية جلب البيانات غير المتزامنة من واجهات REST API داخل مكونات React باستخدام useEffect والدوال غير المتزامنة وفحص حالة الاستجابة وإعادة الجلب عند تغير المعاملات.
4 صفوف تعليمية
ReactJS
0 مشاهدة

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

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

تختلف دالة المتصفح القياسية fetch() عن بعض المكتبات الخارجية في تفصيل جوهري: فهي لا ترفض الوعد تلقائياً عندما يرد الخادم برمز خطأ بروتوكولي مثل 404 Not Found أو 500. فطالما وصلت رؤوس HTTP عبر الشبكة بنجاح، تعتبر fetch() الاتصال مكتملاً، ومحاولة تمرير الرد مباشرة إلى عناصر العرض قد تضع كائن خطأ مكان مصفوفة البيانات.

تحقق دائماً من الخاصية المنطقية response.ok (وتكون true فقط لرموز النجاح بين 200 و299) فور انتهاء الطلب، وارمِ استثناءً واضحاً عبر throw new Error() عند فشلها قبل قراءة response.json().

الصف 2 صورة توضيحية
مخطط يوضح مراحل جلب البيانات في React بدءاً من تشغيل التأثير بعد الرسم ثم فحص حالة الاستجابة وتحويل JSON وصولاً إلى تحديث الحالة
الصف 3 كود برمجي
HTML
const res = await fetch(`/api/courses/${courseId}`);
if (!res.ok) {
  throw new Error(`HTTP status ${res.status}`);
}
const item = await res.json();
setCourse(item);
الصف 4 ملاحظة هامة