Métadonnées de page
Fait partie de la section L'essentiel de Next.js du Journey React de Coddy — leçon 14 sur 47.
L'onglet du navigateur, le marque-page, le résultat Google, l'aperçu du lien dans un chat : tous lisent les balises <title> et <meta> de la page. Vous n'écrivez jamais ces balises à la main dans Next.js.
À la place, une page ou un layout exporte un objet appelé metadata :
// app/menu/page.jsx
export const metadata = {
title: 'Our Menu',
description: 'Everything we cook.',
};
export default function Menu() {
return <h1>Our Menu</h1>;
}Le nom a son importance : il doit s'agir exactement de metadata, exporté depuis le fichier de route. Next.js le lit pendant le rendu et écrit le head pour vous.
Les métadonnées se fusionnent le long de l'arbre, dans le même ordre de l'extérieur vers l'intérieur que les layouts : le layout racine définit les valeurs par défaut, et n'importe quelle page peut les surcharger. Une page sans metadata `export` hérite simplement de ce que le layout a défini, ce qui explique pourquoi chaque page jusqu'à présent a porté le nom défini par votre layout racine.
Défi
DébutantPour l'instant, chaque onglet de Coddy Eats indique Coddy Eats, car c'est ce que définit le layout racine. La page du menu mérite le sien.
- Dans
app/menu/page.jsx, au-dessus du composant, exportez un objetmetadata. - Donnez-lui un
titlevalant exactementOur Menu.
Les tests lisent le titre du document sur /, puis naviguent vers /menu et le lisent à nouveau.
Essayez vous-même
import './globals.css';
export const metadata = {
title: 'Coddy Eats',
};
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
{children}
</body>
</html>
);
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de L'essentiel de Next.js
1Pourquoi Next.js
Ce que Next.js apporteLe dossier AppVotre première pageRécapitulatif : Pourquoi Next.js2Routage et liens
Les dossiers sont des routesRoutes imbriquéesLier des pagesRoutes dynamiquesPages non trouvéesRécapitulatif : Routage3Mises en page et métadonnées
La mise en page racineNavigation partagéeMises en page imbriquéesMétadonnées de pageMétadonnées dynamiquesRécapitulatif : Mises en page