Explore our extensive collection of courses designed to help you master various subjects and skills. Whether you're a beginner or an advanced learner, there's something here for everyone.
Join us for our free workshops, webinars, and other events to learn more about our programs and get started on your journey to becoming a developer.
For all the self-taught geeks out there, here is our content library with most of the learning materials we have produced throughout the years.
It makes sense to start learning by reading and watching videos about fundamentals and how things work.
Data Science and Machine Learning - 16 wks
Full-Stack Software Developer - 16w
Search from all Lessons
Curated list of small interactive and incremental exercises you can take to get better at any coding skill.
Curated section of projects to build while learning with simple instructions, videos, solutions, and more.
Guides on different topics related to the technologies that we teach in our courses
React Router is a JS library available through NPM that helps mainly with 2 problems:
This is how you would install React Router in your project:
Stop reading if you are not building entire applications using React, you don’t need React-Router for single-page applications or small components.
For the rest of us building real web applications, we need to connect several views (React components) into one big application. That process is called "routing."
For example, we need the following application URLs to match the following components:
What pages/views do you want your app to have? You can always start with the basic ones:
The rest of the pages depend on your application and on how you want your users to navigate through your site.
This is the sitemap for any typical e-commerce website:
Once you have finished mapping your application views with URLs, you can start coding everything, and that is when React-Router comes in!
The best practice is always to create one component called
<Layout /> which will take care of routing the users to the specific views they should see, depending on each of the particular URLs.
This is an example of the same e-commerce sitemap but now using React Router v6:
There are 3 components to understand here:
<BrowserRouter>: Every time you open a new BrowserRouter tag, you are basically telling React that everything that is inside must be conditionally rendered, based on particular
<Route>that matches the URL will be displayed.
<Route>: It’s the way of React-Router to map routes with components, for example:
This route is telling React that when the URL matches "sign-up", the component Signup should be displayed.
<a>are now a Problem
Anchors take users to other websites or URLs, and that is amazing for simple plain HTML+JS, but now we DON’T want our users to be taken to other websites or URLs. We want them to remain in the same tab but be able to load the next page without having to refresh. We have two possible approaches of doing that:
React Router created a component that we can use instead of
React Router always passes to each view a prop called "history", which contains a lot of useful information to use when routing users. One of its many useful utilities is the "push" function, which basically redirects the user to a given path.
You can access the history object by using the
useNavigate hook like this:
Then, anywhere in any of your components, you can programmatically redirect users to another URL like this:
Here is a live example using everything that we've learned in this reading. Please click and play to understand it, learn it and replicate it: