The reproduction uses pages/ and does not use the new app router.
Load page. Suspense fallback component <div>Loading...</div> will show while data for the page is being fetched.
Navigate to another page. URL will change, but nothing within or outside the Suspense boundary will change until data has been fetched.
Describe the Bug
Suspense during client-side navigation causes the page update to wait until after data has been fetched.
Expected Behavior
The content outside the Suspense boundary (<Nav /> in the reproduction) should update immediately, and the Suspense boundary should immediately display its fallback until data has been fetched. This happens on initial page load, but not during client-side navigation with <Link />
Which browser are you using? (if relevant)
No response
How are you deploying your application? (if relevant)
Verify canary release
Provide environment information
Which area(s) of Next.js are affected? (leave empty if unsure)
Routing (next/router, next/navigation, next/link)
Link to the code that reproduces this issue
https://github.com/net/next-13-suspense-issue
To Reproduce
Note that I disabled SSR in the reproduction in _app.js with
as SSR and Suspense don't play great together.
The reproduction uses
pages/
and does not use the new app router.<div>Loading...</div>
will show while data for the page is being fetched.Describe the Bug
Suspense during client-side navigation causes the page update to wait until after data has been fetched.
Expected Behavior
The content outside the Suspense boundary (
<Nav />
in the reproduction) should update immediately, and the Suspense boundary should immediately display its fallback until data has been fetched. This happens on initial page load, but not during client-side navigation with<Link />
Which browser are you using? (if relevant)
No response
How are you deploying your application? (if relevant)
No response