Parallel Routes (@slots) in Next.js
From the Next.js cheat sheet · Advanced Routing & Modern Features · verified Jul 2026
Parallel Routes (@slots)
Render multiple pages in the same layout in parallel
tsx
// app/dashboard/layout.tsx
export default function Layout({
children,
team,
analytics,
}: {
children: React.ReactNode
team: React.ReactNode
analytics: React.ReactNode
}) {
return (
<>
{children}
<div className="grid grid-cols-2">
{team}
{analytics}
</div>
</>
)
}
// app/dashboard/@team/page.tsx → renders into {team}
// app/dashboard/@analytics/page.tsx → renders into {analytics}
// app/dashboard/page.tsx → renders into {children}💡 Each slot is an independent route tree with its own loading/error
📌 default.tsx is required on slots once you start navigating — else 404
⚡ Great for dashboards: independent loading states per panel
🎯 Pair with intercepting routes to ship URL-addressable modals
routingapp-routermodern