Sivutuksen Lisääminen Next.js-sovellukseen
Jotta käyttäjät voivat siirtyä eri sivujen välillä ja tarkastella kaikkia laskuja, ota käyttöön sivutus URL-parametrien avulla, samalla tavalla kuin hakutoiminnossa.
Takaisin projektiin
Vaihe 1
- Siirry
Pagination-komponenttiin, jossa huomaat sen olevan asiakaskomponentti. Tietokantasalaisuuksien suojaamiseksi vältä tietojen hakemista asiakaspuolella. Hae tiedot palvelimella ja välitä ne komponentille propina; - Tiedostossa
app/dashboard/invoices/page.tsxtuo uusi funktio nimeltäfetchInvoicesPagesja välitä hakukyselysearchParams-parametrina:fetchInvoicesPageslaskee sivujen kokonaismäärän hakukyselyn perusteella. Esimerkiksi, jos hakutuloksia on 12 ja näytetään 6 per sivu, sivujen kokonaismäärä on 2.
- Välitä
totalPages-proppi<Pagination/>-komponentille.
Vaihe 2
- Siirry tiedostoon
app/ui/invoices/pagination.tsx; - Tuo
usePathname- jauseSearchParams-hookit; - Käytä näitä hookeja nykyisen sivun hakemiseen ja uuden sivun asettamiseen;
- Poista kommentointi tämän komponentin koodista.
Huomio
Sovelluksesi saattaa tilapäisesti lakata toimimasta, koska
<Pagination/>-logiikkaa ei ole vielä toteutettu. Työstämme sitä myöhemmin.
Vaihe 3
- Luo
<Pagination>-komponentin sisälle uusi funktio nimeltäcreatePageURL; - Käytä
URLSearchParams-rakennetta uuden sivunumeron asettamiseen, kuten hakutoiminnossa; - Hyödynnä
pathName-muuttujaa URL-osoitteen muodostamiseen; - Poista kommentointi
allPages-muuttujasta.
Vaihe 4
Viimeinen vaihe – kun käyttäjä syöttää uuden hakukyselyn, sivunumero on tärkeää palauttaa arvoon 1. Tämän saavuttamiseksi päivitä handleSearch-funktio tiedostossa app/ui/search.tsx.
Käytännössä
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
Can you explain how the fetchInvoicesPages function works?
How does the generatePagination function determine which page numbers to show?
What should I do if the pagination is not updating when I search for a new term?
Awesome!
Completion rate improved to 2.08
Sivutuksen Lisääminen Next.js-sovellukseen
Pyyhkäise näyttääksesi valikon
Jotta käyttäjät voivat siirtyä eri sivujen välillä ja tarkastella kaikkia laskuja, ota käyttöön sivutus URL-parametrien avulla, samalla tavalla kuin hakutoiminnossa.
Takaisin projektiin
Vaihe 1
- Siirry
Pagination-komponenttiin, jossa huomaat sen olevan asiakaskomponentti. Tietokantasalaisuuksien suojaamiseksi vältä tietojen hakemista asiakaspuolella. Hae tiedot palvelimella ja välitä ne komponentille propina; - Tiedostossa
app/dashboard/invoices/page.tsxtuo uusi funktio nimeltäfetchInvoicesPagesja välitä hakukyselysearchParams-parametrina:fetchInvoicesPageslaskee sivujen kokonaismäärän hakukyselyn perusteella. Esimerkiksi, jos hakutuloksia on 12 ja näytetään 6 per sivu, sivujen kokonaismäärä on 2.
- Välitä
totalPages-proppi<Pagination/>-komponentille.
Vaihe 2
- Siirry tiedostoon
app/ui/invoices/pagination.tsx; - Tuo
usePathname- jauseSearchParams-hookit; - Käytä näitä hookeja nykyisen sivun hakemiseen ja uuden sivun asettamiseen;
- Poista kommentointi tämän komponentin koodista.
Huomio
Sovelluksesi saattaa tilapäisesti lakata toimimasta, koska
<Pagination/>-logiikkaa ei ole vielä toteutettu. Työstämme sitä myöhemmin.
Vaihe 3
- Luo
<Pagination>-komponentin sisälle uusi funktio nimeltäcreatePageURL; - Käytä
URLSearchParams-rakennetta uuden sivunumeron asettamiseen, kuten hakutoiminnossa; - Hyödynnä
pathName-muuttujaa URL-osoitteen muodostamiseen; - Poista kommentointi
allPages-muuttujasta.
Vaihe 4
Viimeinen vaihe – kun käyttäjä syöttää uuden hakukyselyn, sivunumero on tärkeää palauttaa arvoon 1. Tämän saavuttamiseksi päivitä handleSearch-funktio tiedostossa app/ui/search.tsx.
Käytännössä
Kiitos palautteestasi!