page.js
Die page
-Datei ermöglicht es Ihnen, eine Benutzeroberfläche zu definieren, die für eine Route eindeutig ist. Sie können eine Seite erstellen, indem Sie eine Komponente standardmäßig aus der Datei exportieren:
Wissenswertes
- Die Dateierweiterungen
.js
,.jsx
oder.tsx
können fürpage
verwendet werden. - Eine
page
ist immer das Blatt des Routen-Unterbaums. - Eine
page
-Datei ist erforderlich, um ein Routensegment öffentlich zugänglich zu machen. - Seiten sind standardmäßig Server Components, können aber als Client Component festgelegt werden.
Referenz
Props
params
(optional)
Ein Promise, das sich zu einem Objekt auflöst, das die dynamischen Routenparameter vom Wurzelsegment bis zu dieser Seite enthält.
Beispiel-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'] }> |
- Da die
params
-Prop ein Promise ist, müssen Sieasync/await
oder Reactsuse
-Funktion verwenden, um auf die Werte zuzugreifen.- In Version 14 und früher war
params
eine synchrone Prop. Zur Abwärtskompatibilität können Sie in Next.js 15 weiterhin synchron darauf zugreifen, aber dieses Verhalten wird in Zukunft veraltet sein.
- In Version 14 und früher war
searchParams
(optional)
Ein Promise, das sich zu einem Objekt auflöst, das die Suchparameter der aktuellen URL enthält. Zum Beispiel:
Beispiel-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'] }> |
- Da die
searchParams
-Prop ein Promise ist, müssen Sieasync/await
oder Reactsuse
-Funktion verwenden, um auf die Werte zuzugreifen.- In Version 14 und früher war
searchParams
eine synchrone Prop. Zur Abwärtskompatibilität können Sie in Next.js 15 weiterhin synchron darauf zugreifen, aber dieses Verhalten wird in Zukunft veraltet sein.
- In Version 14 und früher war
searchParams
ist eine Dynamic API, deren Werte nicht im Voraus bekannt sein können. Die Verwendung führt dazu, dass die Seite zur Laufzeit in dynamisches Rendering wechselt.searchParams
ist ein einfaches JavaScript-Objekt, keineURLSearchParams
-Instanz.
Beispiele
Anzeigen von Inhalten basierend auf params
Mit dynamischen Routensegmenten können Sie spezifische Inhalte für die Seite basierend auf der params
-Prop anzeigen oder abrufen.
Handhabung von Filtern mit searchParams
Sie können die searchParams
-Prop verwenden, um Filterung, Paginierung oder Sortierung basierend auf der Query-String der URL zu handhaben.
Lesen von searchParams
und params
in Client Components
Um searchParams
und params
in einer Client Component (die nicht async
sein kann) zu verwenden, können Sie Reacts use
-Funktion verwenden, um das Promise zu lesen:
Versionsverlauf
Version | Änderungen |
---|---|
v15.0.0-RC | params und searchParams sind jetzt Promises. Ein Codemod ist verfügbar. |
v13.0.0 | page eingeführt. |