<Head>
Beispiele
Wir bieten eine integrierte Komponente zum Hinzufügen von Elementen zum head
der Seite an:
import Head from 'next/head'
function IndexPage() {
return (
<div>
<Head>
<title>Mein Seitentitel</title>
</Head>
<p>Hallo Welt!</p>
</div>
)
}
export default IndexPage
Vermeiden Sie doppelte Tags
Um doppelte Tags in Ihrem head
zu vermeiden, können Sie die key
-Eigenschaft verwenden. Dadurch wird sichergestellt, dass das Tag nur einmal gerendert wird, wie im folgenden Beispiel:
import Head from 'next/head'
function IndexPage() {
return (
<div>
<Head>
<title>Mein Seitentitel</title>
<meta property="og:title" content="Mein Seitentitel" key="title" />
</Head>
<Head>
<meta property="og:title" content="Mein neuer Titel" key="title" />
</Head>
<p>Hallo Welt!</p>
</div>
)
}
export default IndexPage
In diesem Fall wird nur das zweite <meta property="og:title" />
gerendert. meta
-Tags mit doppelten key
-Attributen werden automatisch behandelt.
Der Inhalt von
head
wird beim Demontieren der Komponente gelöscht. Stellen Sie daher sicher, dass jede Seite vollständig definiert, was sie inhead
benötigt, ohne Annahmen über die von anderen Seiten hinzugefügten Elemente zu treffen.
Verwenden Sie minimale Verschachtelung
title
, meta
oder andere Elemente (z.B. script
) müssen als direkte Kinder des Head
-Elements enthalten sein oder in maximal einer Ebene von <React.Fragment>
oder Arrays eingeschlossen werden. Andernfalls werden die Tags bei clientseitigen Navigationen nicht korrekt erkannt.
Verwenden Sie next/script
für Skripte
Wir empfehlen die Verwendung von next/script
in Ihrer Komponente anstelle der manuellen Erstellung eines <script>
-Tags in next/head
.
Keine html
- oder body
-Tags
Sie können <Head>
nicht verwenden, um Attribute für <html>
- oder <body>
-Tags festzulegen. Dies führt zu einem next-head-count is missing
-Fehler. next/head
kann nur Tags innerhalb des HTML-<head>
-Tags verarbeiten.