React Router — library for navigating between pages in React applications 🧭 Allows creating SPA (Single Page Applications) with different URLs.
// Main components:
<BrowserRouter>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
</Routes>
</BrowserRouter>React Router — like a car navigator: shows where you are now and how to get to other places! 🚗🗺️
Regular websites — like a book: navigating between pages reloads everything:
// ❌ Regular site — page reload
// example.com/ → example.com/about (full reload)React applications — like one page with different rooms:
// ✅ React Router — no reload
// example.com/ → example.com/about (only content changes)// Wraps the entire application
<BrowserRouter>
<App />
</BrowserRouter>// Defines what to show on different paths
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
<Route path="/contacts" element={<Contacts />} />
</Routes>// Instead of <a href> to avoid page reload
<Link to="/about">About us</Link>
<Link to="/contacts">Contacts</Link>function App() {
return (
<nav>
<Link to="/">Home</Link>
<Link to="/about">About</Link>
</nav>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
</Routes>
);
}When user:
// For product pages, profiles, etc.
<Route path="/user/:id" element={<UserProfile />} />
// In component get id:
const {id} = useParams(); // If URL /user/123, then id = "123"// Only for authorized users
<Route
path="/profile"
element={
<PrivateRoute>
<Profile />
</PrivateRoute>
}
/>// ❌ Mistake — using Route without BrowserRouter
function App() {
return (
<Route path="/" element={<Home />} /> // Doesn't work!
);
}
// ✅ Correct — wrap in BrowserRouter
function App() {
return (
<BrowserRouter>
<Route path="/" element={<Home />} />
</BrowserRouter>
);
}// ❌ Mistake — reloads page
<a href="/about">About</a>
// ✅ Correct — no reload
<Link to="/about">About</Link>React Router — like doors between rooms: go through and enter the right place! 🚪
Want more articles to prepare for interviews? Subscribe to EasyAdvice, bookmark the site and improve yourself every day 💪