0Pricing
Next.js 15 Fullstack (App Router + Server Actions) · Aula

Rotas dinâmicas e parâmetros

Aprenda a implementar rotas dinâmicas para lidar com segmentos variáveis em URLs e acessar parâmetros de rota.

Rotas dinâmicas e parâmetros é uma aula grátis de Next.js 15 Fullstack (App Router + Server Actions) no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Next.js 15 Fullstack (App Router + Server Actions), e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Next.js 15 Fullstack (App Router + Server Actions) inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

What are Dynamic Routes?

Imagine you have a blog with many posts. Instead of creating a separate page for each post (like /blog/post-1, /blog/post-2), you can use dynamic routes.

Dynamic routes allow you to create pages that respond to variable segments in the URL, making your application scalable and maintainable.

Defining a Basic Dynamic Route

In Next.js App Router, you define a dynamic route segment by wrapping a folder name in square brackets []. For example, to create a dynamic route for blog posts, you'd create a folder named [slug].

  • app/blog/[slug]/page.js

This structure will match URLs like /blog/first-post, /blog/another-article, etc.

Accessing Route Parameters

When a dynamic route is matched, the variable part of the URL becomes available as a route parameter. You can access these parameters within your page component via the params prop.

For app/blog/[slug]/page.js, the URL /blog/my-first-post would make params.slug equal to 'my-first-post'.

Demo: Simple Dynamic Page

Let's see how to create a simple dynamic page that displays the slug parameter from the URL. Place this code in app/blog/[slug]/page.js.

export default function BlogPostPage({ params }) {
  // params.slug will contain the dynamic part of the URL
  return (
    <div>
      <h1>Blog Post: {params.slug}</h1>
      <p>This content is dynamically loaded!</p>
    </div>
  );
}

Understanding Catch-all Segments

What if you need to match a path with an unknown number of segments? This is where catch-all segments come in handy. You define them using a spread syntax: [...slug].

  • app/docs/[...slug]/page.js

This will match URLs like /docs/a, /docs/a/b, /docs/a/b/c, etc.

Accessing Catch-all Parameters

When using a catch-all segment, the params prop will contain an array of the matched segments. So, for app/docs/[...slug]/page.js:

  • /docs/a -> params.slug is ['a']
  • /docs/a/b/c -> params.slug is ['a', 'b', 'c']

Demo: Catch-all Page

Here's how you can display all segments from a catch-all route. Place this code in app/docs/[...slug]/page.js.

export default function DocsPage({ params }) {
  // params.slug is an array of path segments
  const path = params.slug.join('/');
  return (
    <div>
      <h1>Documentation Path: /{path}</h1>
      <p>Showing content for: {path}</p>
    </div>
  );
}

Optional Catch-all Segments

Sometimes you want a catch-all segment that can also match the base path (i.e., zero segments). This is an optional catch-all, defined with double square brackets: [[...slug]].

  • app/users/[[...id]]/page.js

This will match /users (where params.id is undefined) AND /users/123 (where params.id is ['123']).

Demo: Optional Catch-all

This example shows an optional catch-all route that displays a user ID or 'Guest' if no ID is provided. Place this in app/users/[[...id]]/page.js.

export default function UserProfilePage({ params }) {
  // params.id will be undefined for /users, or ['123'] for /users/123
  const userId = params.id ? params.id[0] : 'Guest';
  return (
    <div>
      <h1>Welcome, {userId}</h1>
      <p>This page handles both base and dynamic paths.</p>
    </div>
  );
}

Dynamic Routes Quiz

Which of the following file structures would allow a Next.js App Router application to handle URLs like /products/electronics/laptops and access 'electronics' and 'laptops' separately?

Recap: Dynamic Routes & Params

Great job! You've learned the essentials of dynamic routing in Next.js App Router:

  • [slug] creates a single dynamic segment.
  • [...slug] creates a catch-all segment for multiple paths, returning an array.
  • [[...slug]] creates an optional catch-all, matching zero or more segments.
  • All dynamic segments are accessed via the params prop in your page.js components.

This powerful feature is key for building flexible and scalable web applications!

Perguntas Frequentes

A aula “Rotas dinâmicas e parâmetros” é grátis?

Sim — o texto completo de “Rotas dinâmicas e parâmetros” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Next.js 15 Fullstack (App Router + Server Actions), atualize para CoddyKit PRO. O curso de Next.js 15 Fullstack (App Router + Server Actions) inclui 4 aulas no total.

O que vou aprender em “Rotas dinâmicas e parâmetros”?

Aprenda a implementar rotas dinâmicas para lidar com segmentos variáveis em URLs e acessar parâmetros de rota. Você pratica Next.js 15 Fullstack (App Router + Server Actions) com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Next.js 15 Fullstack (App Router + Server Actions)?

Nenhuma experiência prévia é necessária. Next.js 15 Fullstack (App Router + Server Actions) no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Rotas dinâmicas e parâmetros”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Next.js 15 Fullstack (App Router + Server Actions)?

Sim. Cada aula de Next.js 15 Fullstack (App Router + Server Actions) inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Layouts e componentes de página
  2. Rotas dinâmicas e parâmetros
  3. Interfaces de carregamento e erro
  4. Grupos de Rotas e Layouts Aninhados
← Voltar para Next.js 15 Fullstack (App Router + Server Actions)