"If a worker wants to do his job well, he must first sharpen his tools." - Confucius, "The Analects of Confucius. Lu Linggong"
Front page > Programming > React Study Diary: Day 27

React Study Diary: Day 27

Posted on 2025-04-12
Browse:678

My React Journey: Day 27

React Router

Today’s focus is on mastering React Router, a key tool for building seamless navigation in React single-page applications (SPAs). Let me walk you through my learning journey and discoveries!

What I Learned from Building Navigation with React Router
1.Setup and Installation:
To start using React Router, I installed the library with:

npm install react-router-dom

Next, I imported the necessary modules:

import { createBrowserRouter, RouterProvider } from 'react-router-dom';

2.Creating Routes:
I created routes using createBrowserRouter, defining paths and linking them to specific components.

Example:

const router = createBrowserRouter([
  { path: '/', element:  },
  { path: '/profiles', element:  },
  { path: '/profiles/:profileId', element:  },
]);
  • Dynamic URLs: The route path:'/profiles/:profileId' demonstrates dynamic routing. It allows me to render a unique profile page based on the profileId.
  • Error Handling: Adding errorElement ensures that users who navigate to invalid URLs see a 404 Not Found page.

3.Handling 404 Errors:
I created a custom error page (NotFoundPage.jsx) using React Router’s Link component:

Home

This allows navigation back to the homepage without a full browser refresh, maintaining the SPA experience.

4.Mapping Components Dynamically:
In ProfilesPage.jsx, I used the map method to dynamically generate links for each profile:

{profiles.map((profile) => (
  
    Profile {profile}
  
))}

This makes it scalable as new profiles can be added without rewriting the code.

5.Page Structure:
Each page/component serves a specific purpose:

  • HomePage: Displays the default content when users visit /.
  • ProfilesPage: Lists links to individual profiles.
  • ProfilePage: Displays a placeholder for dynamic content related to a specific profile.
  • NotFoundPage: Handles invalid URLs, enhancing user experience.

6.Avoiding Full Page Refreshes:
I learned that using the component instead of the tag prevents unnecessary full-page reloads. This keeps the application fast and responsive.

7.Rendering Nested Views:
With React Router, I can easily render nested components or layouts by structuring my routes efficiently.

Final Thoughts
React Router is an essential tool for building rich and user-friendly SPAs. Its ability to dynamically route, handle errors gracefully, and ensure a seamless navigation experience is powerful.

Release Statement This article is reproduced at: https://dev.to/ayoola_damilare_212d5bde0/my-react-journey-day-27-49b8?1 If there is any infringement, please contact [email protected] to delete it.
Latest tutorial More>

Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.

Copyright© 2022 湘ICP备2022001581号-3