An Introduction to React Router

Lavesh Katariya

Lavesh Katariya

· 2 min read
An Introduction to React Router

React Router is a powerful library for adding dynamic routing to React applications. It enables navigation among views, URL parameter handling, and much more, making single-page apps interactive.

What is React Router?

React Router is a standard library for routing in React. It allows developers to build dynamic, client-side routing while keeping the application organized and performant. React Router uses declarative routing to define your app’s routes in a clean and straightforward manner.

Core Features of React Router

  1. Dynamic Routing: Update the UI based on the URL.
  2. Nested Routes: Create hierarchies of routes for better organization.
  3. URL Parameters: Pass and parse data directly through URLs.
  4. Navigation Control: Use programmatic navigation to move between routes dynamically.

Setting Up React Router

Installation

Install React Router using npm or yarn:

npm install react-router-dom
# or
yarn add react-router-dom

Basic Example

Here’s a simple example of setting up React Router:

App.js:

import React from 'react';
import { BrowserRouter as Router, Route, Routes, Link } from 'react-router-dom';

function Home() {
    return <h2>Home Page</h2>;
}

function About() {
    return <h2>About Page</h2>;
}

function App() {
    return (
        <Router>
            <nav>
                <Link to="/">Home</Link>
                <Link to="/about">About</Link>
            </nav>
            <Routes>
                <Route path="/" element={<Home />} />
                <Route path="/about" element={<About />} />
            </Routes>
        </Router>
    );
}

export default App;

Advanced Features

Nested Routes

Organize related components by nesting routes.

function Dashboard() {
    return (
        <Routes>
            <Route path="profile" element={<Profile />} />
            <Route path="settings" element={<Settings />} />
        </Routes>
    );
}

URL Parameters

Pass parameters through the URL to make components dynamic.

function Product({ productId }) {
    const { id } = useParams();
    return <h2>Product ID: {id}</h2>;
}

Best Practices

  1. Use Lazy Loading: Optimize performance by loading routes dynamically using React.lazy and Suspense.
  2. Keep Routes Organized: Use nested routes and route-specific components for maintainability.
  3. Error Handling: Add fallback routes for 404 pages.

Final Thoughts

React Router is an essential tool for building interactive, user-friendly single-page applications. By mastering its core features, you can enhance navigation and improve user experience in your React projects.

Lavesh Katariya

About Lavesh Katariya

Innovative Full-Stack Developer | Technical Team Lead | Cloud Solutions Architect

With over a decade of experience in building and leading cutting-edge web application projects, I specialize in developing scalable, high-performance platforms that drive business growth. My expertise spans both front-end and back-end development, making me a versatile and hands-on leader capable of delivering end-to-end solutions.

Copyright © 2025 Lavesh Katariya. All rights reserved.