Even standard patterns like having seperate components for page header, sidebar that doesn't rerender the main content section feels very hacky with Next.js, and that too after digging through many people's blogs to read how they accomplished that.
I guess next.js really wants you to ditch the whole SPA idea atleast when it comes to routing.
I hope folks also explore more moderate patterns like server rendering only the first page load (either with react dom or using state hydration) or exploring better separation of client bundles too, and figure out what works best for them. Rather than sticking to whatever next.js or CRNA are set up for by default
I've found the next router pretty easy to deal with, and have been writing less code to achieve the same things over time as next.js matures.
React Router on the other hand lets you render subroutes directly into an ‘outlet’, maintaining the DOM state outside of it.
This is a super common pattern when you’re building something like an admin dashboard app which I do often.