ملخص: جلب البيانات
جزء من قسم أساسيات Next.js في رحلة React على Coddy — الدرس 28 من 47.
التحدي
متوسطملخص الفصل: قائمة طعام تقوم بتحميل كل شيء على الـ server.
ملف lib/data.js مغلق ومزود بـ: getDishes() والتي ترجع promise لمصفوفة من كائنات { id, name, price }، و getDish(slug) التي تبحث عن عنصر واحد.
- في
app/page.jsx، اجعلHomeدالةasyncواستخدمawait getDishes()داخل متغير باسمdishes. - داخل
<ul id="dish-list">، قم بعرض عنصر<li>واحد لكلdish، معkey={dish.id}وid={dish.id}والـnameالخاص بالـ dish كنص له. - يعرض
app/menu/[slug]/page.jsxالنصUnknown dishلكل عنوان URL: فهو يقوم بفك تركيب (destructures) الـparamsبدون استخدامawaitله. قم بعملawaitلـparamsحتى يحصل البحث علىslugحقيقي. زيارة/menu/carbonaraيجب أن تعرضCarbonaraفي#dish-nameوسعره في#dish-price.
جرّب بنفسك
import './globals.css';
export const metadata = {
title: 'My App',
};
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
{children}
</body>
</html>
);
}جميع دروس أساسيات Next.js
4الخادم والعميل (Server & Client)
نوعان من المكوناتقراءة الخطأسطر 'use client'الحفاظ على أجزاء العميل صغيرةخادم داخل عميلملخص: الخادم والعميل2التوجيه والروابط
المجلدات هي مسارات التوجيهالمسارات المتداخلةربط الصفحاتالمسارات الديناميكيةصفحات غير موجودةملخص: التوجيه5البيانات على الخادم
المكونات غير المتزامنة (Async Components)انتظار معلمات المسار (Route Params)جلب البيانات مرتين في وقت واحدحالات التحميلالتعامل مع الأخطاءملخص: جلب البيانات3التخطيطات والبيانات الوصفية
التخطيط الرئيسيالتنقل المشتركالتخطيطات المتداخلةالبيانات الوصفية للصفحةالبيانات الوصفية الديناميكيةملخص: التخطيطات6إجراءات الخادم (Server Actions)
ما هو إجراء الخادم (Server Action)؟نماذج تعمل وتتفاعلقراءة بيانات النموذجتحديث الصفحةملخص: إجراءات الخادم