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

ملخص: الخادم والعميل

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

challenge icon

التحدي

متوسط

ملخص الفصل: ارسم الحد الفاصل بين الخادم والعميل (server/client) بنفسك.

تعرض الصفحة قائمة الأطباق على الخادم، ولكنها تضع أيضًا onClick مباشرة على زر، لذلك لن يتم عرض التطبيق على الإطلاق. قم بإصلاح ذلك دون تعليم الصفحة كـ client component:

  1. في components/OpenHours.jsx، قم بإنشاء client component ('use client' في السطر 1) يحتوي على حالة بولينية open ويعرض زرًا يحمل id="toggle". يجب أن يكون النص الخاص به Show hours عندما يكون مغلقًا و Hide hours عندما يكون مفتوحًا.
  2. عندما يكون مفتوحًا، فإنه يعرض أيضًا <p> يحمل id="hours" والنص Open 9am-5pm. عندما يكون مغلقًا، يجب ألا تكون تلك الفقرة موجودة.
  3. في app/page.jsx، استبدل الزر المعطل والفقرة المرئية دائمًا بـ <OpenHours />، المستورد من '../components/OpenHours'. يبقى العنوان وقائمة الأطباق dishes كما هي تمامًا: تظل الصفحة server component.

جرّب بنفسك

import './globals.css';

export const metadata = {
    title: 'My App',
};

export default function RootLayout({ children }) {
    return (
        <html lang="en">
            <body>
                {children}
            </body>
        </html>
    );
}

جميع دروس أساسيات Next.js