
- Next.js - Home
- Next.js - Overview
- Next.js - Project Setup
- Next.js - Folder Structure
- Next.js - App Router
- Next.js - Page Router
- Next.js Features
- Next.js - Pages
- Next.js - Data Fetching
- Next.js - ISR
- Next.js - Static File Serving
- Next.js - Pre-Rendering
- Next.js - Partial Pre Rendering
- Next.js - Server Side Rendering
- Next.js - Client Side Rendering
- Next.js Routing
- Next.js - Routing
- Next.js - Nested Routing
- Next.js - Dynamic Routing
- Next.js - Parallel Routing
- Next.js - Imperative Routing
- Next.js - Shallow Routing
- Next.js - Intercepting Routes
- Next.js - Redirecting Routes
- Next.js - Navigation and Linking
- Next.js Configuration
- Next.js - TypeScript
- Next.js - Environment Variables
- Next.js - File Conventions
- Next.js - ESLint
- Next.js API & Backend
- Next.js - API Routes
- Next.js - Dynamic API Routes
- Next.js - Route Handlers
- Next.js - API MiddleWares
- Next.js - Response Helpers
- Next.js API Reference
- Next.js - CLI Commands
- Next.js - Functions
- Next.js - Directives
- Next.js - Components
- Next.js - Image Component
- Next.js - Font Component
- Next.js - Head Component
- Next.js - Form Component
- Next.js - Link Component
- Next.js - Script Component
- Next.js Styling & SEO
- Next.js - CSS Support
- Next.js - Global CSS Support
- Next.js - Meta Data
- Next.js Advanced Topics
- Next.js - Error Handling
- Next.js - Server Actions
- Next.js - Fast Refresh
- Next.js - Internationalization
- Next.js - Authentication
- Next.js - Session Management
- Next.js - Authorization
- Next.js - Caching
- Next.js - Data Caching
- Next.js - Router Caching
- Next.js - Full Route Caching
- Next.js - Request Memoization
- Next.js Performance Optimization
- Next.js - Optimizations
- Next.js - Image Optimization
- Next.js - Lazy Loading
- Next.js - Font Optimization
- Next.js - Video Optimization
- Next.js - Script Optimization
- Next.js - Memory Optimization
- Next.js - Using OpenTelemetry
- Next.js - Package Bundling Optimization
- Next.js Testing
- Next.js - Testing
- Next.js - Testing with Jest
- Next.js - Testing with Cypress
- Next.js - Testing with Vitest
- Next.js - Testing with Playwright
- Next.js Debugging & Deployment
- Next.js - Debugging
- Next.js - Deployment
- Next.js Useful Resources
- Next.js - Interview Questions
- Next.js - Quick Guide
- Next.js - Useful Resources
- Next.js - Discussion
Next.js - Nested Routing
Routing is a technique used in web applications to easily navigate between different directories of an application. In this chapter we will explain, what is nested routing and how to implement it in Next.js.
What is Nested Routing?
Nested routing refers to defining routes within other routes, to create a hierarchical structure of routes in a web application. This is a common concept used in frameworks like React.js and Next.js.
Features of Nested Routing
- Hierarchical Representation: Nested routes represent closely to the hierarchical structure of the UI, making it easy to navigate and build routes in app.
- Code Reusability: Nested routing helps you to reuse layout components such as headers and sidebars across different child routes.
- Better User Experience: Nested routing create a seamless transition between related components without reloading the webpage, which helps improve overall user experience of website.
Nested Routing in Next.js
To create nested routes, simply organize your files and folders hierarchically in the /app/ directory. For example, consider following file structure in a Next.js app.
app/ posts/ page.jsx products/ electronics/ page.jsx
In this file structure, we can access routes with following URLs:
- /posts/
- /products/electronics
Create a Nested Page
To create a nested About page, create a new folder named 'about' inside the /app/ directory and inside that add a file page.tsx with following code.
// app/about/page.js file export default function About() { return ( <div> <h1>About Us</h1> <p>Welcome to the about page!</p> </div> ); }
Output
To see output, visit "http://localhost:3000/about". It will look like this.
