App Router 有哪些特殊约定文件(layout / loading / error / template)?
App Router 用同名文件约定 UI 片段,自动套用:
layout.tsx:包裹子路由的布局,状态持久(切换子路由不重新挂载),可嵌套template.tsx:类似 layout,但每次导航都重新创建实例(适合需要重挂载动画的场景)loading.tsx:基于 Suspense,子路由加载中显示的骨架/Spinnererror.tsx:用错误边界捕获子路由渲染错误,需标'use client'not-found.tsx:404 页面global-error.tsx:根级错误兜底
app/
layout.tsx (根布局,包 <html><body>)
error.tsx (根错误边界)
loading.tsx (根加载态)
dashboard/
layout.tsx
loading.tsx