平行路由与拦截
同一条 URL,两种渲染:从列表点进去是弹层(列表不卸载),刷新或硬导航是完整页。@modal 负责槽,(.)shot 负责拦截,default.tsx 保证直接打开列表时槽是空的
什么时候用拦截,什么时候不用
拦截保存的是列表的挂载,不是一份第二套数据
- 详情盖在列表上、关掉后滚动和筛选还在:用平行槽 + 拦截。URL 可复制,刷新仍是完整页
- 详情就是这次访问的主体(文章、设置页):不要拦截,直接渲染完整页
default.tsx不能省。没有它,软导航回到列表时 @modal 没有匹配,槽会 404- 拦截只发生在客户端导航。本页弹层里的「硬导航」用的是普通 a 标签,就是为了绕过它