Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.

Muita gente ainda acha que colocar redirecionamentos com window.location.href no _app.js do Next.js é a solução para controle de autenticação, mas na prática isso pesa na experiência e na performance.
---
Next.js é feito pra usar rotas do lado do servidor e a navegação via Link ou router.push. Quando você usa window.location.href, o Next.js não consegue fazer a troca de página via SPA, ele força um reload completo. A decisão fica mais saudável quando o time consegue medir o impacto depois.
---
No exemplo clássico, o desenvolvedor colocou uma condição pra verificar se o usuário está logado e, se não estiver, redireciona pra login usando window.location.href. Parece simples, mas na hora da prática, essa abordagem causa perda de estado, recarregamento da página, e quebra a experiência fluida que o Next.js propõe. Sem esse critério, a solução pode parecer simples no começo e cara no suporte.
---
A melhor prática aqui é usar o middleware do Next.js ou o router do Next para fazer esses controles. Assim, a navegação fica mais rápida, sem reloads desnecessários, e o controle de autenticação fica mais integrado ao ciclo de vida da aplicação. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar.
No seu time, já passaram por isso? Como vocês estão lidando com redirecionamentos de login? Acredito que esse tipo de controle deve ficar na camada de middleware ou na API, pra evitar esses problemas de performance. Por isso, o recorte precisa considerar manutenção, validação e caminho de volta. Esse contexto ajuda a separar ganho real de novidade difícil de sustentar. A decisão fica mais saudável quando o time consegue medir o impacto depois. Sem esse critério, a solução pode parecer simples no começo e cara no suporte. O valor aparece melhor quando operação, produto e engenharia olham para o mesmo risco.
No meu time, a maior dor é justamente esse reload silencioso. A galera acha que é mais fácil colocar window.location, mas depois paga o preço na experiência.
Concordo, usar router.push ou middleware é bem mais eficaz. Window.location só piora pra quem quer uma navegação mais fluida.
Acho que o problema é que muitos ainda não enxergam o middleware como uma solução integrada. Acaba recorrendo ao hack do window.location mesmo, que é mais imediato, mas pior no longo prazo.