Menu
Coddy logo textTech

Récapitulatif : Serveur & Client

Fait partie de la section L'essentiel de Next.js du Journey React de Coddy — leçon 22 sur 47.

challenge icon

Défi

Moyen

Récapitulatif du chapitre : tracez vous-même la frontière entre le serveur et le client.

La page répertorie les plats sur le serveur, mais elle place également un onClick directement sur un bouton, ce qui empêche l'application de s'afficher. Corrigez cela sans marquer la page comme un composant client :

  1. Dans components/OpenHours.jsx, créez un composant client ('use client' sur la ligne 1) qui gère un booléen open dans son état et affiche un bouton avec id="toggle". Son texte doit être Show hours lorsqu'il est fermé et Hide hours lorsqu'il est ouvert.
  2. Lorsqu'il est ouvert, il affiche également un <p> avec id="hours" et le texte Open 9am-5pm. Lorsqu'il est fermé, ce paragraphe ne doit pas exister.
  3. Dans app/page.jsx, remplacez le bouton défectueux et le paragraphe toujours visible par <OpenHours />, importé depuis '../components/OpenHours'. Le titre et la liste des plats restent exactement tels qu'ils sont : la page demeure un composant serveur.

Essayez vous-même

import './globals.css';

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

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

Toutes les leçons de L'essentiel de Next.js