Capítulo 175 de 456
Atualiza o client router a partir de dentro de um Server Action, sem revalidar cache de dados.
function refresh(): void; só pode ser chamado dentro de Server Actions. Não funciona em Route Handlers, Client Components, ou qualquer outro contexto.// app/actions.ts
'use server'
import { refresh } from 'next/cache'
export async function createPost(formData: FormData) {
const title = formData.get('title')
const content = formData.get('content')
const post = await db.post.create({ data: { title, content } })
refresh()
}
revalidatePath/revalidateTag.// app/api/posts/route.ts — uso incorreto, lança erro
import { refresh } from 'next/cache'
export async function POST() {
// Isso lança erro
refresh()
}
refresh() fora de Server Action é erro em runtime.refresh é exclusivo de Server Actions.refresh() não invalida cache de dados; use revalidatePath/revalidateTag/updateTag para isso.