在 next.js 13.4 中,可通过在 `app/` 根目录下创建 `loading.js`(或 `loading.tsx`)文件,自动为所有嵌套路由提供中心化加载 ui,无需手动监听导航事件。
Next.js App Router 内置了基于 React Suspense 的加载状态机制,loading.js 是其核心约定之一。只需在 app/loading.js(或 app/loading.tsx)中定义一个 React 组件,Next.js 就会在任何客户端导航(如点击 、调用 router.push() 或浏览器前进/后退)触发页面切换时,自动渲染该组件作为过
渡 UI,并在目标页面内容就绪后平滑替换。
✅ 正确用法示例(app/loading.js):
export default function Loading() {
return (
Loading...
);
}⚠️ 注意事项:
? 进阶提示:结合 error.js 和 not-found.js,可构建完整的应用级路由反馈体系——三者共同构成 App Router 的“边界协议”,是现代 Next.js 应用体验一致性的基石。