Aprenda / Frontend — Tailwind & Next.js

FundamentosAula 5 de 2015 min0% da trilha

Next.js: o que é, App Router na prática

De 'React com mais passos' pra um framework com roteamento, servidor e build embutidos.

React sozinho não decide como uma URL vira uma tela, nem onde o código roda (servidor ou navegador) — ele só renderiza componentes. O Next.js resolve exatamente essas duas perguntas, e o App Router (a pasta app/) é como ele faz isso hoje: a estrutura de pastas é o roteamento.

Pasta vira rota

estrutura de pastas
app/
  page.tsx           → /
  sobre/
    page.tsx          → /sobre
  produtos/
    page.tsx          → /produtos
    [id]/
      page.tsx        → /produtos/123  (id é dinâmico)
  layout.tsx           → chrome compartilhado por tudo dentro de app/

Um arquivo page.tsx é o que torna uma pasta uma rota de verdade — uma pasta sem page.tsx não vira URL nenhuma (útil pra organizar código sem criar rota, ou pra agrupar rotas com um layout comum sem aparecer na URL, usando (nome-do-grupo)).

O componente de uma rota

app/produtos/[id]/page.tsx
type Props = { params: Promise<{ id: string }> };

export default async function ProdutoPage({ params }: Props) {
  const { id } = await params;
  return <h1>Produto {id}</h1>;
}

Repare que o componente é async e params vem como Promise — é assim no Next.js 15+: toda rota é potencialmente assíncrona por padrão, porque ela pode buscar dado antes de renderizar (próxima lição).

Quiz rápido

O que faz uma pasta dentro de app/ virar uma rota de verdade?
Por que os exemplos desta lição em diante não têm editor ao vivo?