Roadmap › React (with Hooks, React 19 & Next.js basics) › Module: Building Real Apps
Lessons in this course (17)
13. Routing with React Router
Intermediate★ Must knowLesson 13 of 17
jsx
import { createBrowserRouter, RouterProvider, Link, NavLink, Outlet, useParams, useNavigate } from "react-router";
const router = createBrowserRouter([
{
path: "/", element: <Layout />, errorElement: <ErrorPage />,
children: [
{ index: true, element: <Home /> },
{ path: "orders", element: <Orders /> },
{ path: "orders/:id", element: <OrderDetails />, loader: ({ params }) => fetchOrder(params.id) },
{ path: "admin", element: <RequireAuth><Admin /></RequireAuth> },
{ path: "*", element: <NotFound /> },
],
},
]);
function Layout() { return <><nav><NavLink to="/orders">Orders</NavLink></nav><Outlet /></>; }
function OrderDetails() { const { id } = useParams(); const navigate = useNavigate(); /* ... */ }
createRoot(document.getElementById("root")).render(<RouterProvider router={router} />);React Router v7 (2024) merged with Remix and has library mode and framework mode. Alternative: TanStack Router (type-safe).