Hoy vamos a aprender cómo podemos crear rutas dinámicas para realizar links con parámetros utilizando Next.js.

Lo primero que vamos a hacer es crear una carpeta dentro de nuestras páginas llamada article y dentro vamos a crear un archivo llamado:
[id].tsx
Quedando:
-pages
-article
- [id].tsx
Esto nos permitirá poder invocar la URL:
http://localhost:3000/article/1
Ahora dentro de la página podemos crear:
import React from 'react';
import { useRouter } from 'next/router';
const ArticlePage: React.FC<ArticlePageProps> = ({}) => {
const router = useRouter();
const { id } = router.query;
return (
<div>
<h1>{id}</h1>
</div>
);
};
export default ArticlePage;
Para invocarlo tenemos que crear un Link de esta forma:
<Link href={`/article/1`}>Mi link</Link>
Si queremos abrir una página con dos paths tendremos que crear una carpeta con el path de la siguiente forma:
-pages
-article
- [id]
-[name].tsx
Y el código quedaría así:
import React from 'react';
import { useRouter } from 'next/router';
const ArticlePage: React.FC<ArticlePageProps> = ({}) => {
const router = useRouter();
const { id, name } = router.query;
return (
<div>
<h1>{id}</h1>
<p>{name}</p>
</div>
);
};
export default ArticlePage;
Y para invocarlo:
http://localhost:3000/article/1/Article Name
O con un link:
<Link href={`/articles/1/${encodeURIComponent("titulo")}`}>Mi artículo</Link>

Ingeniero en Informática, Investigador, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.