1. Home
  2. ChevronRightLayout
  3. ChevronRightPageNav

PageNav

Botones de navegación de página anterior/siguiente renderizados en la parte inferior de las páginas.

El componente PageNav muestra controles de navegación en la parte inferior de las páginas, dirigiendo a los lectores a los capítulos lógicamente precedentes o siguientes.


ImportaciónLink

import { PageNav } from 'boltdocs/primitives'

Ejemplo de Navegación de Página ComponibleLink

Usando los subcomponentes primitivos de PageNav, puedes componer un pie de página paginador personalizado. El siguiente ejemplo muestra cómo recuperar metadatos de páginas hermanas activas a través de usePageNav y estructurar los enlaces con bordes y estilos de diseño personalizados:

// docs/components/CustomFooterNav.tsx
import React from 'react'
import { PageNav } from 'boltdocs/primitives'
import { usePageNav } from 'boltdocs/client'

export default function CustomFooterNav() {
  const { prevPage, nextPage } = usePageNav()

  if (!prevPage && !nextPage) return null

  return (
    <PageNav.Root className="border-t border-subtle pt-8 mt-12 grid grid-cols-2 gap-4">
      {/* 1. Dirección de Página Anterior */}
      {prevPage ? (
        <PageNav.Link
          to={prevPage.path}
          direction="prev"
          className="group p-4 rounded-xl border border-zinc-200 dark:border-zinc-800 hover:border-primary-500 transition-colors"
        >
          <PageNav.Title className="text-xs uppercase font-bold text-zinc-400 dark:text-zinc-500 group-hover:text-primary-500 transition-colors">
            Capítulo Anterior
          </PageNav.Title>
          <PageNav.Description className="text-sm font-semibold text-zinc-800 dark:text-zinc-200 mt-1">
            {prevPage.title}
          </PageNav.Description>
        </PageNav.Link>
      ) : (
        <div /> // Espaciador de compensación de columna
      )}

      {/* 2. Dirección de Página Siguiente */}
      {nextPage ? (
        <PageNav.Link
          to={nextPage.path}
          direction="next"
          className="group p-4 rounded-xl border border-zinc-200 dark:border-zinc-800 hover:border-primary-500 transition-colors text-right"
        >
          <PageNav.Title className="text-xs uppercase font-bold text-zinc-400 dark:text-zinc-500 group-hover:text-primary-500 transition-colors">
            Siguiente Capítulo
          </PageNav.Title>
          <PageNav.Description className="text-sm font-semibold text-zinc-800 dark:text-zinc-200 mt-1">
            {nextPage.title}
          </PageNav.Description>
        </PageNav.Link>
      ) : (
        <div /> // Espaciador de compensación de columna
      )}
    </PageNav.Root>
  )
}

Subcomponentes ComponiblesLink

La primitiva PageNav proporciona los siguientes subcomponentes para la personalización de la estructura:

ComponenteEtiqueta HTMLDescripciónProps
PageNav.Root / PageNav<nav>El contenedor principal exterior de cuadrícula flex que contiene los enlaces de paginación.ComponentBaseProps
PageNav.Link<a>Un elemento de anclaje optimizado que enlaza a páginas adyacentes. Renderiza flechas de chevrón automáticamente.PageNav.Link Props
PageNav.Title<span>Etiqueta de texto auxiliar direccional (por ejemplo, "Siguiente" o "Anterior").ComponentBaseProps
PageNav.Description<div>Texto del título del encabezado del documento de la página hermana de destino.ComponentBaseProps
PageNav.Icon<span>Un contenedor de diseño utilizado para albergar gráficos de flecha o caret personalizados.ComponentBaseProps

Props del ComponenteLink

ComponentBaseProps (Común)Link

PropiedadTipoPredeterminadoDescripción
childrenReactNodeundefinedElementos de contenido hijos.
classNamestringundefinedClases CSS utilitarias personalizadas.
styleCSSPropertiesundefinedConfiguraciones de estilo en línea.
PropiedadTipoPredeterminadoDescripción
tostringRequeridoRuta de destino de la página hermana.
direction'prev' | 'next'RequeridoIndicador de dirección para controlar el orden flex y los chevrones.
classNamestringundefinedClases utilitarias personalizadas.
Last updated on July 27, 2026

Was this page helpful?