Next.js è un potente framework per la creazione di applicazioni React ad alte prestazioni. Una delle sue funzionalità è la possibilità di creare layout personalizzati per le tue pagine, consentendoti di creare un design coerente facile da mantenere e aggiornare in tutta la tua applicazione.
Creazione di un componente di layout personalizzato in Next. JS
Nella cartella denominata componenti nel tuo progetto Next.js, crea Layout.jsx e aggiungi il codice seguente per creare il componente di layout.
importare Testa da'successivo/testa'
importare Intestazione da'./Intestazione.jsx'
importare Piè di pagina da'./Piè di pagina.jsx'
cost Disposizione = (bambini) => (
La mia app</title>
"stylesheet" href="/static/css/style.css" />
</Head>
{children}
</div>
)
esporta predefinito Layout
< p>Questo componente importa i componenti Intestazione e Piè di pagina e
accetta elementi secondari come oggetti di scena. Rende i figli tra i componenti Intestazione e Piè di pagina. Quando avvolgi una pagina con questo layout, l'intestazione e il piè di pagina verranno visualizzati in alto e in basso. Utilizzo del Componente layout
Per utilizzare il componente layout, importalo in un componente pagina e utilizzalo come mostrato di seguito.
import Layout da '../components/Layout'
const Pagina = () => (
Home</h1>
</Layout>
)
esportazione default Pagina
Applicherà il layout di questa pagina. Puoi ripetere questo processo a tutte le pagine a cui desideri applicare il layout.
Per utilizzare il layout su tutte le pagine delle applicazioni contemporaneamente, importa il componente layout nel file /page/_app.js e utilizzalo come segue.
import Layout from span> "../components/layout";
funzione MyApp({ Component, pageProps } span>) {
ritorno (
</Layout>
) ;
}
Gli esempi mostrati finora utilizzare le cartelle di 12 pagine Next.js. In Next.js 13, crei il layout nella cartella dell'app (al momento della scrittura, è in versione beta).
Creazione di un layout personalizzato nella cartella dell'app
La cartella dell'app in Next.js 13 richiede la creazione di un layout principale alla sua base. Questo è il layout che Next.js applicherà a tutte le pagine della tua applicazione.
Per dimostrarlo, crea un file denominato layout.jsx e aggiungi il seguente codice. p>
export default function RootLayout({ children } span>) {
return (
"it">
{children}</body>
</html>< br/> );
}
Il componente di layout radice accetta e visualizza il bambini. Di seguito sono riportate alcune delle cose che dovresti sapere su un layout root:
- Devi includerlo nella cartella dell'app.
- Sostituisce _app.js e _document.js nella cartella della pagina di Next.js 12.
- Devi includere esplicitamente l'HTML e il tag body.
- È un componente server per impostazione predefinita.
Come accennato, il layout principale si applica a tutte le pagine, quindi come si creano layout personalizzati per diversi segmenti di percorso?
Nella cartella dell'app, puoi definire un percorso creando cartelle per ogni percorso segmento. Ad esempio, la creazione di una cartella chiamata articoli viene associata al percorso dell'URL app/articoli. Per aggiungere ulteriori segmenti di percorso, creare una sottocartella all'interno della cartella principale del percorso. Ad esempio, l'aggiunta di una cartella chiamata trend all'interno della cartella articoli viene mappata al percorso dell'URL app/articles/trending.
Quando aggiungi un componente layout.jsx a una cartella di percorso, verrà applicato a tutte le pagine all'interno di quella segmento di rotta e relative sottocartelle. Ad esempio, l'aggiunta di un componente di layout alla cartella articoli verrà applicata a tutte le pagine nel percorso degli articoli, comprese quelle nella sottocartella trend. Se aggiungi anche un componente di layout nella cartella trend, il layout nella cartella degli articoli verrà nidificato al suo interno.
Vantaggi dell'utilizzo dei layout
Next.js ti consente di creare componenti di layout che puoi riutilizzare in diversi pagine. Ciò ti consente di avere un aspetto coerente in tutto il tuo sito Web senza duplicare il codice su più pagine. Inoltre, i layout ti aiutano a implementare rapidamente le modifiche perché non è necessario apportare modifiche a ogni pagina.