React Router is a library for navigation between pages in a React application without page reload (SPA).
Simple analogy: Imagine a library:
How it works:
1import { BrowserRouter, Routes, Route, Link } from 'react-router-dom';23function App() {4 return (5 <BrowserRouter>6 <nav>7 <Link to="/">Home</Link>8 <Link to="/about">About</Link>9 <Link to="/users">Users</Link>10 </nav>1112 <Routes>13 <Route path="/" element={<Home />} />14 <Route path="/about" element={<About />} />15 <Route path="/users/:id" element={<User />} />16 </Routes>17 </BrowserRouter>18 );19}
Main components:
Hooks:
useParams() — parameters from URL (/users/5 → { id: 5 }).useNavigate() — programmatic navigation: navigate(/users).useLocation() — information about current URL.Data Loaders (v6.4+): can load data directly in the router, before component render.