Next.js 13 Me Decepcionou!
Next.js App Router não tem mais como usar eventos!
Uma das coisas interessantes que o next oferece é justamente o gerenciamento de rota e de maneira tão facilitada. Entretanto, após a mudança para o app router, 'next/router' não é mais possível ser usado. Agora só é possível usar 'next/navigation', que acaba oferecendo muito menos recursos.
A principal perda, na minha visão, é a impossibilidade de usar eventos.
Agora, a única maneira de poder lidar com essas mudanças de páginas, para fazer algumas coisas como loading de carregamento de página, é basicamente gambiarra! E a pior parte foi que a própria next, em sua documentação, sugere essa gambiarra.
'use client'
import { useEffect } from 'react'
import { usePathname, useSearchParams } from 'next/navigation'
export function NavigationEvents() {
const pathname = usePathname()
const searchParams = useSearchParams()
useEffect(() => {
const url = `${pathname}?${searchParams}`
console.log(url)
// You can now use the current URL
// ...
}, [pathname, searchParams])
return null
}
Isso não dá informação avançadas para fazer um loader bom o suficiente.
A comunidade anda tentando fazer algo em cima disso mas aínda continua sendo GAMBIARRA, na minha visão.
Alguém poderia me explicar um motivo plausível para a next descontinuar os eventos de rota?