Capítulo 352 de 456
Next.js determina automaticamente se uma página pode ser estática (sem getServerSideProps/getInitialProps) e a prerenderiza como HTML, permitindo apps híbridos sem configuração manual.
getServerSideProps e getInitialProps na página = candidata a otimização estática.router.isReady: campo em next/router para saber quando query está completamente populado após hidratação.asPath: valor de next/router que só é conhecido no client em páginas estaticamente otimizadas; usar antes de isReady === true pode causar mismatch..next/server/pages/about.html
.html no build..next/server/pages/about.js
getServerSideProps faz a mesma página virar .js (renderizada por request) em vez de .html.asPath como prop antes de router.isReady: pode causar mismatch de hidratação em páginas estaticamente otimizadas, já que asPath só é conhecido no client._app com getInitialProps: desliga a otimização automática em páginas que não usam getStaticProps.ctx.req definido em _document com getInitialProps: ctx.req é undefined em páginas prerenderizadas; sempre checar antes de assumir SSR.query vem vazio durante o prerender e é atualizado após hidratação em: rotas dinâmicas, query na URL, ou rewrites configurados.router.isReady para distinguir se query já está completo.getInitialProps no App é a principal forma de desligar essa otimização.ctx.req undefined em páginas otimizadas.