Junior
What is the purpose of the react-router-dom library in React?
sobes.tech AI
Answer from AI
react-router-dom is used for building single-page applications (SPA) in React, providing client-side routing.
Why is it needed:
- Navigation: Allows users to move between different "pages" (components) without a full page reload.
- URL management: Synchronizes the current URL in the browser's address bar with the displayed component.
- Dynamic routing: Enables defining routes with parameters (e.g.,
/users/:id) to load specific data. - Programmatic navigation: Allows redirecting users via code (e.g., after successful data saving).
Main components:
BrowserRouter: Wrapper for the app that uses the History API to synchronize URLs.Routes: Container for defining routes.Route: Defines the match between URL and component.Link: Component for creating links that prevent page reloads.useNavigate: Hook for programmatic navigation.useParams: Hook for extracting route parameters from the URL.
Example usage:
// App.js
import { BrowserRouter, Routes, Route, Link } from 'react-router-dom';
import Home from './Home';
import About from './About';
function App() {
return (
<BrowserRouter>
<nav>
<Link to="/">Home</Link> {' '}
<Link to="/about">About</Link>
</nav>
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
{/* Example of a dynamic route */}
{/* <Route path="/users/:userId" element={<UserProfile />} /> */}
</Routes>
</BrowserRouter>
);
}
export default App;