How to use app router while maintaining pure client navigation? #60412
Replies: 1 comment 2 replies
-
|
The answer is that even if you place "use client" at the very top of your component tree, including your root layout.tsx, the Next.js server is still fundamentally involved in every navigation, and an RSC payload will still be requested. The App Router's Core Philosophy: Server-Driven Navigation The Next.js App Router is not a traditional Single-Page Application (SPA) router that operates exclusively in the browser. It is a server-centric router that uses React Server Components as its underlying primitive. Think of it this way: the "use client" directive does not turn off the RSC architecture. Instead, it acts as a boundary marker that tells the server: "Stop rendering on the server at this point. Instead, send a placeholder and a reference to a JavaScript bundle that the client should download and execute."
|
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
-
Hello. In my project I faced a problem.
I know that
app routerhas a lot of advantages and make use of it in my project.In order to achieve i18n, all pages of my project are server components, which gains a great firtst screen experience of course.
But when I trigger
router.push(), or<Link />, a request is sent, which includes_rsc=xxxx.Then a noticable delay will happen after user click the link/button and before the new route is loaded.
_rsc=xxxrequest and noticable delay.How should I achieve that goal? Thanks very much.
Beta Was this translation helpful? Give feedback.
All reactions