31. Routes and navigation in React.js

Página 81

React.js, a JavaScript library for building user interfaces, is an incredibly powerful and flexible tool for front-end developers. One of its most useful features is the routing and navigation system, which allows you to create complex and interactive single page applications (SPA). This chapter will delve into how to configure and use routes and navigation in React.js.

First, it is important to understand what routes and navigation are. In a traditional web application, navigation is done by changing pages. Every time you click on a link, the server sends a new page to the browser. With React.js, however, we can create single-page applications where navigation is done without reloading the page. Instead, different components are rendered depending on the current route.

To start working with routes in React.js, you will need to install the 'react-router-dom' library. This library is an extension of React.js that allows the creation of a route system in our applications. You can install it using the npm package manager with the following command: 'npm install react-router-dom'.

Once the library is installed, you can start configuring your routes. Routes are configured in a special component called 'BrowserRouter', which should wrap around your entire application. Inside 'BrowserRouter' you can use the 'Route' component to define your routes. Each 'Route' has a 'path' property that defines the URL path for the route, and a 'component' property that defines the component that should be rendered when the route is accessed.

<BrowserRouter>
  <Route path="/" component={Home} />
  <Route path="/about" component={About} />
  <Route path="/contact" component={Contact} />
</BrowserRouter>

With this code, when the user accesses the URL '/', the 'Home' component is rendered. If they access '/about', the 'About' component is rendered, and so on. You can define as many routes as you want this way.

To navigate between routes, you can use the 'Link' component from the 'react-router-dom' library. This component creates a link that, when clicked, changes the current route without reloading the page. The 'to' property of the 'Link' defines the route to which the link should navigate.

<Link to="/about">About</Link>
<Link to="/contact">Contact</Link>

With this code, when the user clicks on the 'About' link, the route changes to '/about' and the 'About' component is rendered. Similarly, when they click on 'Contact', the route changes to '/contact' and the 'Contact' component is rendered.

An important thing to note is that 'BrowserRouter' uses browser history to keep track of the current route. This means that the browser's back button will work as expected, returning to the previous route.

In addition, 'react-router-dom' also provides a number of other useful features, such as nested routes, parameterized routes, and redirects. Nested routes allow you to have routes within routes, which is useful for creating complex interfaces. Parameterized routes allow you to pass data through the URL. And redirects allow you to redirect the user to a different route.

In summary, the React.js navigation and routing system is a powerful tool that allows you to create complex and interactive single-page applications. With the 'react-router-dom' library, you can easily configure your routes and navigate between them without reloading the page. Additionally, 'react-router-dom' provides a number of other useful features to further enhance your application.

Now answer the exercise about the content:

What library is needed to work with routes in React.js and how is it installed?

You are right! Congratulations, now go to the next page

You missed! Try again.

Next page of the Free Ebook:

8232. Introduction to Vue.js

Earn your Certificate for this Course for Free! by downloading the Cursa app and reading the ebook there. Available on Google Play or App Store!

Get it on Google Play Get it on App Store

+ 6.5 million
students

Free and Valid
Certificate with QR Code

48 thousand free
exercises

4.8/5 rating in
app stores

Free courses in
video, audio and text