Aggiunta della Paginazione a un'App Next.js
Per consentire agli utenti di navigare tra le diverse pagine e visualizzare tutte le fatture, implementare la paginazione utilizzando i parametri URL, in modo simile alla funzionalità di ricerca.
Torna al progetto
Passo 1
- Navigando nel componente
Pagination, si nota che è un componente client. Per evitare di esporre segreti del database, evitare di recuperare dati lato client. Invece, recuperare i dati lato server e passarli come prop al componente; - In
app/dashboard/invoices/page.tsx, importare una nuova funzione chiamatafetchInvoicesPagese passare la query di ricerca dasearchParamscome argomento:fetchInvoicesPagescalcola il numero totale di pagine in base alla query di ricerca. Ad esempio, se ci sono 12 fatture corrispondenti con una visualizzazione di 6 per pagina, il numero totale di pagine sarà 2.
- Passare la prop
totalPagesal componente<Pagination/>.
Passo 2
- Navigare in
app/ui/invoices/pagination.tsx; - Importare gli hook
usePathnameeuseSearchParams; - Utilizzare questi hook per recuperare la pagina corrente e impostare la nuova pagina;
- Decommentare il codice in questo componente.
Nota
L'applicazione potrebbe temporaneamente non funzionare poiché la logica di
<Pagination/>non è ancora implementata. Verrà sviluppata successivamente.
Passo 3
- All'interno del componente
<Pagination>, creare una nuova funzione chiamatacreatePageURL; - In modo simile alla funzionalità di ricerca, utilizzare
URLSearchParamsper impostare il nuovo numero di pagina; - Utilizzare
pathNameper costruire la stringa URL; - Decommentare la variabile
allPages.
Passaggio 4
Passaggio finale - quando l'utente inserisce una nuova query di ricerca, è fondamentale reimpostare il numero di pagina a 1. Per ottenere questo risultato, aggiorna la funzione handleSearch in app/ui/search.tsx.
In pratica
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Awesome!
Completion rate improved to 2.08
Aggiunta della Paginazione a un'App Next.js
Scorri per mostrare il menu
Per consentire agli utenti di navigare tra le diverse pagine e visualizzare tutte le fatture, implementare la paginazione utilizzando i parametri URL, in modo simile alla funzionalità di ricerca.
Torna al progetto
Passo 1
- Navigando nel componente
Pagination, si nota che è un componente client. Per evitare di esporre segreti del database, evitare di recuperare dati lato client. Invece, recuperare i dati lato server e passarli come prop al componente; - In
app/dashboard/invoices/page.tsx, importare una nuova funzione chiamatafetchInvoicesPagese passare la query di ricerca dasearchParamscome argomento:fetchInvoicesPagescalcola il numero totale di pagine in base alla query di ricerca. Ad esempio, se ci sono 12 fatture corrispondenti con una visualizzazione di 6 per pagina, il numero totale di pagine sarà 2.
- Passare la prop
totalPagesal componente<Pagination/>.
Passo 2
- Navigare in
app/ui/invoices/pagination.tsx; - Importare gli hook
usePathnameeuseSearchParams; - Utilizzare questi hook per recuperare la pagina corrente e impostare la nuova pagina;
- Decommentare il codice in questo componente.
Nota
L'applicazione potrebbe temporaneamente non funzionare poiché la logica di
<Pagination/>non è ancora implementata. Verrà sviluppata successivamente.
Passo 3
- All'interno del componente
<Pagination>, creare una nuova funzione chiamatacreatePageURL; - In modo simile alla funzionalità di ricerca, utilizzare
URLSearchParamsper impostare il nuovo numero di pagina; - Utilizzare
pathNameper costruire la stringa URL; - Decommentare la variabile
allPages.
Passaggio 4
Passaggio finale - quando l'utente inserisce una nuova query di ricerca, è fondamentale reimpostare il numero di pagina a 1. Per ottenere questo risultato, aggiorna la funzione handleSearch in app/ui/search.tsx.
In pratica
Grazie per i tuoi commenti!