Agregando Paginación a una Aplicación Next.js
Para permitir que los usuarios naveguen por diferentes páginas y visualicen todas las facturas, implementar paginación utilizando parámetros de URL, de manera similar a la funcionalidad de búsqueda.
Volver al proyecto
Paso 1
- Al navegar al componente
Pagination, se observa que es un componente de cliente. Para evitar exponer secretos de la base de datos, evitar obtener datos del lado del cliente. En su lugar, obtener los datos en el servidor y pasarlos como una prop al componente; - En
app/dashboard/invoices/page.tsx, importar una nueva función llamadafetchInvoicesPagesy pasar la consulta de búsqueda desdesearchParamscomo argumento:fetchInvoicesPagescalcula el número total de páginas en función de la consulta de búsqueda. Por ejemplo, si hay 12 facturas coincidentes y se muestran 6 por página, el número total de páginas sería 2.
- Pasar la prop
totalPagesal componente<Pagination/>.
Paso 2
- Navegar a
app/ui/invoices/pagination.tsx; - Importar los hooks
usePathnameyuseSearchParams; - Utilizar estos hooks para obtener la página actual y establecer la nueva página;
- Descomentar el código en este componente.
Nota
La aplicación puede dejar de funcionar temporalmente ya que la lógica de
<Pagination/>aún no está implementada. Se trabajará en ello más adelante.
Paso 3
- Dentro del componente
<Pagination>, crear una nueva función llamadacreatePageURL; - De manera similar a la funcionalidad de búsqueda, utilizar
URLSearchParamspara establecer el nuevo número de página; - Utilizar
pathNamepara construir la cadena de URL; - Descomentar la variable
allPages.
Paso 4
Paso final: cuando el usuario introduce una nueva consulta de búsqueda, es fundamental restablecer el número de página a 1. Para lograr esto, actualiza la función handleSearch en app/ui/search.tsx.
En la práctica
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 2.08
Agregando Paginación a una Aplicación Next.js
Desliza para mostrar el menú
Para permitir que los usuarios naveguen por diferentes páginas y visualicen todas las facturas, implementar paginación utilizando parámetros de URL, de manera similar a la funcionalidad de búsqueda.
Volver al proyecto
Paso 1
- Al navegar al componente
Pagination, se observa que es un componente de cliente. Para evitar exponer secretos de la base de datos, evitar obtener datos del lado del cliente. En su lugar, obtener los datos en el servidor y pasarlos como una prop al componente; - En
app/dashboard/invoices/page.tsx, importar una nueva función llamadafetchInvoicesPagesy pasar la consulta de búsqueda desdesearchParamscomo argumento:fetchInvoicesPagescalcula el número total de páginas en función de la consulta de búsqueda. Por ejemplo, si hay 12 facturas coincidentes y se muestran 6 por página, el número total de páginas sería 2.
- Pasar la prop
totalPagesal componente<Pagination/>.
Paso 2
- Navegar a
app/ui/invoices/pagination.tsx; - Importar los hooks
usePathnameyuseSearchParams; - Utilizar estos hooks para obtener la página actual y establecer la nueva página;
- Descomentar el código en este componente.
Nota
La aplicación puede dejar de funcionar temporalmente ya que la lógica de
<Pagination/>aún no está implementada. Se trabajará en ello más adelante.
Paso 3
- Dentro del componente
<Pagination>, crear una nueva función llamadacreatePageURL; - De manera similar a la funcionalidad de búsqueda, utilizar
URLSearchParamspara establecer el nuevo número de página; - Utilizar
pathNamepara construir la cadena de URL; - Descomentar la variable
allPages.
Paso 4
Paso final: cuando el usuario introduce una nueva consulta de búsqueda, es fundamental restablecer el número de página a 1. Para lograr esto, actualiza la función handleSearch en app/ui/search.tsx.
En la práctica
¡Gracias por tus comentarios!