Next.js 的 Intercepting Routes(拦截路由) 是 App Router 中一个非常强大且独特的功能。 简单来说,它允许你在当前布局(Layout)中加载另一个路由,就像是把那个页面“拦截”并嵌入到了当前页面中,而不是完全跳转过去。 核心概念:软导航 vs 硬导航 拦截路由最典型的行为差异在于用户是如何访问该 URL 的: 1. 软导航(点击 Link 跳转): 当你通过 点击进入该路由时,Next.js 会拦截这个请求,并在当前页面保留上下文的同时,展示目标页面的内容(通常以模态框 Modal 的形式)。 2. 硬导航(刷新或直接访问 URL): 当你刷新页面、或者直接把 URL 发给朋友打开时,拦截不会发生。Next.js 会渲染该路由原本的独立页面。 经典使用场景 Instagram/Pinterest 图片流: 你在浏览图片列表 ()。 点击一张图片,URL 变为 ,但背景依然是列表,图片以弹窗形式浮在上面。 如果你刷新这个 页面,或者把链接发给别人,打开后看到的是一张完整的独立图片详情页,没有背景列表。 登录弹窗: 在任何页面点击“登录”,URL...