React Router is a standard library for routing in React. It enables navigation between views of different components, changing the browser URL, and keeping UI in sync with the URL.
bash
CopyEdit
npm install react-router-dom
Use react-router-dom for web apps.
tsx
CopyEdit
// index.tsx or main.tsx
import React from 'react';
import ReactDOM from 'react-dom/client';
import { BrowserRouter } from 'react-router-dom';
import App from './App';
ReactDOM.createRoot(document.getElementById('root')!).render(
<BrowserRouter>
<App />
</BrowserRouter>
);
tsx
CopyEdit
// App.tsx
import { Routes, Route } from 'react-router-dom';
import Home from './pages/Home';
import About from './pages/About';
import NotFound from './pages/NotFound';
function App() {
return (
<Routes>
<Route path="/" element={<Home />} />
<Route path="/about" element={<About />} />
<Route path="*" element={<NotFound />} />
</Routes>
);
}
tsx
CopyEdit
// Inside any component
import { Link } from 'react-router-dom';
<Link to="/">Home</Link>
<Link to="/about">About</Link>
For programmatic navigation:
tsx
CopyEdit
import { useNavigate } from 'react-router-dom';
const navigate = useNavigate();
navigate('/about');
/user/:id)tsx
CopyEdit
<Route path="/user/:id" element={<UserProfile />} />