Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

ملخص: جلب البيانات

جزء من قسم أساسيات Next.js في رحلة React على Coddy — الدرس 28 من 47.

challenge icon

التحدي

متوسط

ملخص الفصل: قائمة طعام تقوم بتحميل كل شيء على الـ server.

ملف lib/data.js مغلق ومزود بـ: getDishes() والتي ترجع promise لمصفوفة من كائنات { id, name, price }، و getDish(slug) التي تبحث عن عنصر واحد.

  1. في app/page.jsx، اجعل Home دالة async واستخدم await getDishes() داخل متغير باسم dishes.
  2. داخل <ul id="dish-list">، قم بعرض عنصر <li> واحد لكل dish، مع key={dish.id} و id={dish.id} والـ name الخاص بالـ dish كنص له.
  3. يعرض 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