Hinzufügen von Paginierung zu einer Next.js-App
Swipe um das Menü anzuzeigen
Um den Nutzern die Navigation durch verschiedene Seiten und die Anzeige aller Rechnungen zu ermöglichen, Paginierung mithilfe von URL-Parametern implementieren, ähnlich wie bei der Suchfunktion.
Zurück zum Projekt
Schritt 1
- Wenn Sie zur
Pagination-Komponente navigieren, sehen Sie, dass es sich um eine Client-Komponente handelt. Um das Offenlegen von Datenbankgeheimnissen zu vermeiden, sollten Sie keine Daten auf der Client-Seite abrufen. Stattdessen sollten die Daten auf dem Server abgerufen und als Prop an die Komponente übergeben werden; - Importieren Sie in
app/dashboard/invoices/page.tsxeine neue Funktion namensfetchInvoicesPagesund übergeben Sie die Suchanfrage aussearchParamsals Argument:fetchInvoicesPagesberechnet die Gesamtanzahl der Seiten basierend auf der Suchanfrage. Wenn es beispielsweise 12 passende Rechnungen mit einer Anzeige von 6 pro Seite gibt, beträgt die Gesamtanzahl der Seiten 2.
- Übergeben Sie die Prop
totalPagesan die Komponente<Pagination/>.
Schritt 2
- Navigieren Sie zu
app/ui/invoices/pagination.tsx; - Importieren Sie die Hooks
usePathnameunduseSearchParams; - Verwenden Sie diese Hooks, um die aktuelle Seite abzurufen und die neue Seite zu setzen;
- Kommentieren Sie den Code in dieser Komponente aus.
Hinweis
Ihre Anwendung kann vorübergehend nicht funktionieren, da die Logik für
<Pagination/>noch nicht implementiert ist. Wir werden dies später bearbeiten.
Schritt 3
- Erstellen Sie innerhalb der
<Pagination>-Komponente eine neue Funktion namenscreatePageURL; - Verwenden Sie ähnlich wie bei der Suchfunktionalität
URLSearchParams, um die neue Seitennummer zu setzen; - Nutzen Sie
pathName, um den URL-String zu erstellen; - Kommentieren Sie die Variable
allPagesaus.
Schritt 4
Letzter Schritt – wenn der Benutzer eine neue Suchanfrage eingibt, muss die Seitenzahl auf 1 zurückgesetzt werden. Aktualisieren Sie dazu die Funktion handleSearch in app/ui/search.tsx.
In der Praxis
War alles klar?
Danke für Ihr Feedback!
Abschnitt 6. Kapitel 3
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Abschnitt 6. Kapitel 3