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

More Next.js tasks

Back to the full Next.js cheat sheet