AppLayout in React Router 2025
๐งฉ What is AppLayout
?
In React Router v6.4+, a layout route (like AppLayout
) is a component that wraps shared UI (like navbar, footer, or sidebar) and uses an
to render child routes inside it.
This is perfect for dashboard-style apps or websites where parts of the layout remain consistent across pages.
๐ฆ Example Structure:
src/
โโโ App.js
โโโ layouts/
โ โโโ AppLayout.jsx
โโโ pages/
โ โโโ Home.jsx
โ โโโ About.jsx
โ โโโ Contact.jsx
โโโ main.jsx
๐ 1. Install React Router
npm install react-router-dom
๐ 2. Create AppLayout.jsx
// layouts/AppLayout.jsx
import { Outlet, Link } from "react-router-dom";
export default function AppLayout() {
return (
);
}
๐ 3. Define Routes in App.jsx
// App.js
import { createBrowserRouter, RouterProvider } from "react-router-dom";
import AppLayout from "./layouts/AppLayout";
import Home from "./pages/Home";
import About from "./pages/About";
import Contact from "./pages/Contact";
const router = createBrowserRouter([
{
path: "/",
element: ,
children: [
{ path: "/", element: },
{ path: "about", element: },
{ path: "contact", element: },
],
},
]);
export default function App() {
return ;
}
๐ 4. Example Pages
// pages/Home.jsx
export default function Home() {
return Welcome to Home
;
}
// pages/About.jsx
export default function About() {
return About Us
;
}
// pages/Contact.jsx
export default function Contact() {
return Contact Page
;
}
โ
Final Output
All pages (Home, About, Contact) will show inside AppLayout
, keeping the navbar and footer consistent.