Menu
Coddy logo textTech

Riepilogo: Server e Client

Fa parte della sezione Nozioni essenziali di Next.js del percorso React di Coddy. Lezione 22 di 47.

challenge icon

Sfida

Medio

Riepilogo del capitolo: stabilisci tu il confine tra server e client.

La pagina elenca i piatti sul server, ma inserisce anche un onClick direttamente in un pulsante, quindi l'app non verrà renderizzata. Risolvi il problema senza contrassegnare la pagina come componente client:

  1. In components/OpenHours.jsx, crea un componente client ('use client' alla riga 1) che memorizzi in uno stato un booleano open e visualizzi un pulsante con id="toggle". Il testo deve essere Show hours quando è chiuso e Hide hours quando è aperto.
  2. Quando è aperto, visualizza anche un <p> con id="hours" e il testo Open 9am-5pm. Quando è chiuso, quel paragrafo non deve esistere.
  3. In app/page.jsx, sostituisci il pulsante non funzionante e il paragrafo sempre visibile con <OpenHours />, importato da '../components/OpenHours'. L'intestazione e l'elenco dei piatti devono rimanere esattamente come sono: la pagina resta un componente server.

Provalo tu

import './globals.css';

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

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

Tutte le lezioni di Nozioni essenziali di Next.js