Next.js ist ein leistungsstarkes Framework zum Erstellen leistungsstarker React-Anwendungen. Eine seiner Funktionen ist die Möglichkeit, benutzerdefinierte Layouts für Ihre Seiten zu erstellen, mit denen Sie ein konsistentes Design erstellen können, das in Ihrer Anwendung einfach zu pflegen und zu aktualisieren ist.
Erstellen einer benutzerdefinierten Layoutkomponente in Next. JS
In dem Ordner namens Komponenten erstellen Sie in Ihrem Next.js-Projekt Layout.jsx und fügen Sie den folgenden Code hinzu, um die Layoutkomponente zu erstellen.
importieren Kopf aus'weiter/Kopf'
importieren Header aus'./Header.jsx'
importieren Fusszeile aus'./Footer.jsx'
konst Anordnung = (Kinder) => (
Meine App</title>
"stylesheet" href="/static/css/style.css" />
</Head>
{Kinder}
</div>
)
exportieren Standard-Layout
< p>Diese Komponente importiert die Header- und Footer-Komponenten und
akzeptiert Kinder als Requisiten. Es rendert die untergeordneten Elemente zwischen den Header- und Footer-Komponenten. Wenn Sie eine Seite mit diesem Layout umbrechen, werden Kopf- und Fußzeile oben und unten angezeigt. Unter Verwendung von Layoutkomponente
Um die Layoutkomponente zu verwenden, importieren Sie sie in eine Seitenkomponente und verwenden Sie sie wie unten gezeigt.
import Layout von '../components/Layout'
const Page = () => (
Home</h1>
</Layout>
)
exportieren default Seite
Es wird die angewendet Layout zu dieser Seite. Sie können diesen Vorgang auf alle Seiten wiederholen, auf die Sie das Layout anwenden möchten.
Um das Layout auf allen Seiten in den Anwendungen gleichzeitig zu verwenden, importieren Sie es die Layout-Komponente in die Datei /page/_app.js und verwenden Sie sie wie folgt.
import Layout from Spanne> "../components/layout";
function MyApp({ Component, pageProps } span>) {
return (
</Layout>
) ;
}
Die bisher gezeigten Beispiele Verwenden Sie die 12-Seiten-Ordner von Next.js. In Next.js 13 erstellen Sie das Layout im App-Ordner (zum Zeitpunkt des Schreibens befindet es sich in der Beta-Phase).
Erstellen eines benutzerdefinierten Layouts im App-Ordner
Für den App-Ordner in Next.js 13 müssen Sie an seiner Basis ein Stammlayout erstellen. Dies ist das Layout, das Next.js auf alle Seiten Ihrer Anwendung anwendet.
Erstellen Sie zur Demonstration eine Datei namens layout.jsx und fügen Sie den folgenden Code hinzu.
p> export default function RootLayout({ children } span>) {
zurück (
"en">
{children}</body>
</html>< br/> );
}
Die Root-Layout-Komponente akzeptiert und rendert die Kinder. Nachfolgend finden Sie einige Dinge, die Sie über ein Root-Layout wissen sollten:
- Sie müssen es in den App-Ordner aufnehmen.
- Es ersetzt _app.js und _document.js im Seitenordner von Next.js 12.
- Sie müssen den HTML- und Body-Tag explizit einschließen.
- Es ist standardmäßig eine Serverkomponente.
Wie bereits erwähnt, gilt das Stammlayout für alle Seiten, wie erstellen Sie also benutzerdefinierte Layouts für verschiedene Routensegmente?
In Ihrem App-Ordner können Sie eine Route definieren, indem Sie Ordner für jede Route erstellen Segment. Wenn Sie beispielsweise einen Ordner namens articles erstellen, wird dieser dem URL-Pfad app/articles zugeordnet. Um weitere Streckenabschnitte hinzuzufügen, erstellen Sie innerhalb des Hauptstreckenordners einen Unterordner. Wenn Sie beispielsweise einen Ordner namens trending im Ordner articles hinzufügen, wird der URL-Pfad zugeordnet app/articles/trending.
Wenn Sie eine layout.jsx-Komponente zu einem Routenordner hinzufügen, wird sie auf alle darin enthaltenen Seiten angewendet Routensegment und seine Unterordner. Wenn Sie beispielsweise eine Layoutkomponente zum Ordner Artikel hinzufügen, gilt dies für alle Seiten in der Artikelroute, einschließlich der Seiten im Unterordner Trends. Wenn Sie auch eine Layout-Komponente im Ordner Trends hinzufügen, wird das Layout im Ordner "Artikel" darin verschachtelt.
Vorteile der Verwendung von Layouts
Next.js ermöglicht es Ihnen, Layoutkomponenten zu erstellen, die Sie für verschiedene Zwecke wiederverwenden können Seiten. Auf diese Weise können Sie Ihre Website einheitlich gestalten, ohne den Code auf mehreren Seiten zu duplizieren. Außerdem helfen Ihnen Layouts dabei, Änderungen schnell umzusetzen, da Sie nicht auf jeder Seite Änderungen vornehmen müssen.