page.js
Le fichier page
vous permet de définir une interface utilisateur unique pour une route. Vous pouvez créer une page en exportant par défaut un composant depuis le fichier :
Bon à savoir
- Les extensions de fichier
.js
,.jsx
ou.tsx
peuvent être utilisées pourpage
. - Une
page
est toujours la feuille de l'arborescence des routes. - Un fichier
page
est nécessaire pour rendre un segment de route accessible publiquement. - Les pages sont par défaut des Composants Serveur, mais peuvent être configurées comme Composant Client.
Référence
Props
params
(optionnel)
Une promesse qui se résout en un objet contenant les paramètres de route dynamiques depuis le segment racine jusqu'à cette page.
Exemple de Route | URL | params |
---|---|---|
app/shop/[slug]/page.js | /shop/1 | Promise<{ slug: '1' }> |
app/shop/[category]/[item]/page.js | /shop/1/2 | Promise<{ category: '1', item: '2' }> |
app/shop/[...slug]/page.js | /shop/1/2 | Promise<{ slug: ['1', '2'] }> |
- Comme la prop
params
est une promesse, vous devez utiliserasync/await
ou la fonctionuse
de React pour accéder aux valeurs.- Dans la version 14 et antérieures,
params
était une prop synchrone. Pour assurer la compatibilité ascendante, vous pouvez toujours y accéder de manière synchrone dans Next.js 15, mais ce comportement sera déprécié à l'avenir.
- Dans la version 14 et antérieures,
searchParams
(optionnel)
Une promesse qui se résout en un objet contenant les paramètres de recherche de l'URL actuelle. Par exemple :
Exemple d'URL | searchParams |
---|---|
/shop?a=1 | Promise<{ a: '1' }> |
/shop?a=1&b=2 | Promise<{ a: '1', b: '2' }> |
/shop?a=1&a=2 | Promise<{ a: ['1', '2'] }> |
- Comme la prop
searchParams
est une promesse, vous devez utiliserasync/await
ou la fonctionuse
de React pour accéder aux valeurs.- Dans la version 14 et antérieures,
searchParams
était une prop synchrone. Pour assurer la compatibilité ascendante, vous pouvez toujours y accéder de manière synchrone dans Next.js 15, mais ce comportement sera déprécié à l'avenir.
- Dans la version 14 et antérieures,
searchParams
est une API Dynamique dont les valeurs ne peuvent pas être connues à l'avance. Son utilisation entraînera le passage de la page en rendu dynamique au moment de la requête.searchParams
est un simple objet JavaScript, et non une instance deURLSearchParams
.
Exemples
Affichage de contenu basé sur params
En utilisant des segments de route dynamiques, vous pouvez afficher ou récupérer du contenu spécifique pour la page en fonction de la prop params
.
Gestion du filtrage avec searchParams
Vous pouvez utiliser la prop searchParams
pour gérer le filtrage, la pagination ou le tri en fonction de la chaîne de requête de l'URL.
Lecture de searchParams
et params
dans les Composants Client
Pour utiliser searchParams
et params
dans un Composant Client (qui ne peut pas être async
), vous pouvez utiliser la fonction use
de React pour lire la promesse :
Historique des versions
Version | Modifications |
---|---|
v15.0.0-RC | params et searchParams sont désormais des promesses. Un codemod est disponible. |
v13.0.0 | Introduction de page . |