default.js
default.js
文件用于在 Next.js 无法恢复完整页面加载后并行路由 (Parallel Routes)中插槽 (slot)的活动状态时,提供回退渲染。
在软导航 (soft navigation)过程中,Next.js 会跟踪每个插槽的活动 状态(子页面)。但对于硬导航(完整页面加载),Next.js 无法恢复活动状态。在这种情况下,可以为不匹配当前 URL 的子页面渲染 default.js
文件。
考虑以下文件夹结构。@team
插槽有 settings
页面,但 @analytics
没有。

当导航到 /settings
时,@team
插槽将渲染 settings
页面,同时保持 @analytics
插槽当前的活动页面。
刷新页面时,Next.js 会为 @analytics
渲染 default.js
。如果 default.js
不存在,则会渲染 404
页面。
此外,由于 children
是一个隐式插槽,您还需要创建 default.js
文件,以便在 Next.js 无法恢复父页面活动状态时为 children
提供回退渲染。
参考文档
params
(可选)
一个解析为包含从根段到插槽子页面的动态路由参数 (dynamic route parameters)对象的 Promise。例如:
示例 | URL | params |
---|---|---|
app/[artist]/@sidebar/default.js | /zack | Promise<{ artist: 'zack' }> |
app/[artist]/[album]/@sidebar/default.js | /zack/next | Promise<{ artist: 'zack', album: 'next' }> |
- 由于
params
属性是一个 Promise,您必须使用async/await
或 React 的use
函数来访问其值。- 在版本 14 及更早版本中,
params
是同步属性。为了保持向后兼容,在 Next.js 15 中仍可以同步访问,但此行为将在未来版本中被弃用。
- 在版本 14 及更早版本中,