Episode 3: Add React Router
In this episode, we’ll integrate **React Router** into our app to allow page navigation between **Home**, **Cart**, and **Login**.
Episode 3: Add React Router
1. Setup Router in App.js
Update src/App.js
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
import Home from "./pages/Home";
import Cart from "./pages/Cart";
import Login from "./pages/Login";
import Navbar from "./components/Navbar";
function App() {
return (
<Router>
<Navbar />
<div className="p-4">
<Routes>
<Route path="/" element={<Home />} />
<Route path="/cart" element={<Cart />} />
<Route path="/login" element={<Login />} />
</Routes>
</div>
</Router>
);
}
export default App;
2. Create Basic Page Components
Create Cart page: src/pages/Cart.jsx
1
2
3
4
5
6
const Cart = () => {
return <h1 className="text-2xl">Cart Page</h1>;
};
export default Cart;
Create Login page: src/pages/Login.jsx
1
2
3
4
5
const Login = () => {
return <h1 className="text-2xl">Login Page</h1>;
};
export default Login;
3. Create Navbar Component
Create Navbar component: src/components/Navbar.jsx
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import { Link } from "react-router-dom";
const Navbar = () => {
return (
<nav className="bg-gray-800 text-white px-6 py-4 flex justify-between items-center">
<Link to="/" className="text-xl font-bold">E-Shop</Link>
<div className="space-x-4">
<Link to="/" className="hover:underline">Home</Link>
<Link to="/cart" className="hover:underline">Cart</Link>
<Link to="/login" className="hover:underline">Login</Link>
</div>
</nav>
);
};
export default Navbar;
4. Test the Navigation
Run the app:
1
npm start
- Click on Home, Cart, and Login links in the navbar
- Each route should display the corresponding page
This post is licensed under CC BY 4.0 by the author.