Capítulo 112 de 456
default.js renderiza um fallback dentro de um slot de Parallel Routes quando o Next.js não consegue recuperar o estado ativo do slot após um full-page load (hard navigation). Sem ele, um slot nomeado (@team, @analytics) retorna erro no refresh; o slot implícito children retorna 404.
default.js cobre a lacuna.params (opcional): Promise com os parâmetros dinâmicos do segmento raiz até as subpages do slot; requer async/await ou use() para acessar.children: também precisa de default.js próprio, senão retorna 404 no refresh quando o Next.js não recupera o estado do pai.import { notFound } from 'next/navigation'
export default function Default() {
notFound()
}
notFound() dentro do default.js.export default async function Default({
params,
}: {
params: Promise<{ artist: string }>
}) {
const { artist } = await params
}
params (Promise) dentro de um default.js de slot dinâmico.| Example | URL | params |
|---|---|---|
app/[artist]/@sidebar/default.js | /zack | Promise<{ artist: 'zack' }> |
app/[artist]/[album]/@sidebar/default.js | /zack/next | Promise<{ artist: 'zack', album: 'next' }> |
default.js para slot nomeado: gera erro em refresh, não é opcional se o slot pode ficar sem correspondência de URL.default.js para children: retorna 404 silencioso em vez de manter a página anterior visível.default.js só entra em ação em hard navigation, nunca em navegação client-side.params é assíncrono desde a v15; sincronia ainda funciona por compat mas será depreciada.notFound() quando o comportamento desejado é 404 explícito em vez de fallback silencioso.params como Promise, compartilhada por default.js, page.js, layout.js.