Post

Next.js 16.3 Preview: Instant Navigations A new suite of tools that brings the responsiveness of client-driven SPAs to Next.js, without giving up what Server Components do best. The speed of the server, with the feel of the client. Try it and tell us what you think ↓ nextjs.org/blog/next-1...

nextjs.orgNext.js 16.3: Instant NavigationsA new suite of tools that brings the responsiveness of a single-page app to the server-centric model of Next.js.

9 reposts78 likes

There is a lot of mocking our next features or React server components features, to get things working so that they do not throw errors or warnings, such as caching, testing layouts (without hydration warnings), and testing nested async components.

the premise is either "nothing happens" or "show the next page's loading shell" - but there exist other ways to solve the problem without either of those (imo) flawed approaches. this is one core motivation of my upcoming rsc framework.

Instant Insights gives you options for how to make a navigation instant: • Stream the data behind a <𝚂𝚞𝚜𝚙𝚎𝚗𝚜𝚎> boundary • Cache the data with '𝚞𝚜𝚎 𝚌𝚊𝚌𝚑𝚎' Or allow the navigation to Block with 𝚎𝚡𝚙𝚘𝚛𝚝 𝚌𝚘𝚗𝚜𝚝 𝚒𝚗𝚜𝚝𝚊𝚗𝚝 = 𝚏𝚊𝚕𝚜𝚎.

To guarantee instant navigations, the client must immediately render something when a link is clicked. Previously, Next.js tried to solve this by prefetching every link, a flurry of requests as you scrolled. Many of you told us this looked ridiculous, and frankly, we agree.

So, we're borrowing a trick from single-page apps. Next.js now prefetches one reusable shell per route and caches it on the client, instead of a separate request per link. A click renders the prefetched shell instantly while the rest of the page streams in from the server.

Instant Navigations builds on Cache Components. To migrate an existing app, install our Skill: npx skills add vercel/next.js --skill next-cache-components-adoption Then ask your agent to adopt Cache Components using the Skill.