useParams

useParams es un hook para Componentes de Cliente que permite leer los parámetros dinámicos de una ruta rellenados por la URL actual.

'use client'

import { useParams } from 'next/navigation'

export default function ExampleClientComponent() {
  const params = useParams<{ tag: string; item: string }>()

  // Ruta -> /shop/[tag]/[item]
  // URL -> /shop/shoes/nike-air-max-97
  // `params` -> { tag: 'shoes', item: 'nike-air-max-97' }
  console.log(params)

  return '...'
}

Parámetros

const params = useParams()

useParams no recibe ningún parámetro.

Retorno

useParams retorna un objeto que contiene los parámetros dinámicos rellenados de la ruta actual.

  • Cada propiedad en el objeto es un segmento dinámico activo.
  • El nombre de la propiedad corresponde al nombre del segmento, y su valor es con lo que se ha rellenado el segmento.
  • El valor de la propiedad será un string o un array de strings dependiendo del tipo de segmento dinámico.
  • Si la ruta no contiene parámetros dinámicos, useParams retorna un objeto vacío.
  • Si se usa en el Enrutador de Páginas (Pages Router), useParams retornará null en el renderizado inicial y se actualizará con las propiedades siguiendo las reglas anteriores una vez que el enrutador esté listo.

Por ejemplo:

RutaURLuseParams()
app/shop/page.js/shop{}
app/shop/[slug]/page.js/shop/1{ slug: '1' }
app/shop/[tag]/[item]/page.js/shop/1/2{ tag: '1', item: '2' }
app/shop/[...slug]/page.js/shop/1/2{ slug: ['1', '2'] }

Historial de Versiones

VersiónCambios
v13.3.0Se introdujo useParams.

On this page