Next.js v16
Cache Components

Instalando nosso APP

Comandos Iniciais

Vamos instalar nossa aplicação:

bun create next-app@latest my-next16-app

Maravilha, podemos marcar sim para todas as perguntas.

Depois, vamos entrar na pasta do projeto e limpar tudo que não vamos usar. Pronto! Agora temos uma aplicação Next.js 16 limpa, pronta para usarmos Cache Components 🥳!

Rodando o App com Cache Components

Se você rodar o app agora, verá que tudo funciona normalmente. Só que não estamos usando Cache Components ainda - mesmo estando na v16. Para que possamos usar Cache Components, precisamos alterar a configuração do Next.js:

next.config.ts
import type { NextConfig } from 'next';

const nextConfig: NextConfig = {
  cacheComponents: true,
};

export default nextConfig;

Maravilha! Tudo certo agora.

Mas o que mudou?

Tudo! Pra começar, todas as páginas são dinâmicas por padrão. E a gente lançando mão de uma funcionalidade chamada Partial Pre Rendering (PPR).

alt text

Ok, vamos comparar lado a lado então o que temos até agora.

Página DinâmicaPágina EstáticaEstática com ISRPartial Pre Rendering (PPR)
Toda requisição gera uma nova renderização no servidor - O HTML é gerado a cada requestA página (HTML) é gerada uma vez e a mesma página é servida para todas as requisiçõesÉ a mesma coisa que a página estática. A diferença é que a página é "rebuildada" em segundo plano sob demanda ou após algum tempoToda parte estática da página já foi gerada no build. As partes dinâmicas são "preenchidas" depois via streaming.
Desvantagem: PerformanceDesvantagem: Mesma página para todos os usuáriosDesvantagem: Revalidação em segundo plano-
Na nova opção de Cache Components, podemos fazer cada um desses comportamentos (separados ou combinados) de forma mais simples e eficiente.

Vamos ver agora isso funcionando na prática com Cache Components.