React Routing
Published Jul 29, 2021Updated Apr 10, 2023
Contribute to Docs
In React, routing is most commonly achieved through React Router.
React Router is a third-party library that allow components to be used as routed endpoints within an application. This library comes in three packages:
react-router: For core functionalityreact-router-native: React Native versionreact-router-dom: Recommended for web applications
Install the newest version with npm:
npm install react-router-dom@latest
The newest version of React Router is v6, which comes with many breaking changes including:
- Using a
<Routes />component instead of a<Switch />component for<Route />configuration. - Using the
elementattribute instead ofcomponentwhen passing a JSX to a<Link />.
Example
Below, a <BrowserRouter/> (aliased as <Router/>) is used to map the navigation <Link/> components to a <Routes/> component. The <Routes/> renders the appropriate <Route> based on the most specific-matching path among all possible matches.
import Home from './Home';import About from './About';import Projects from './Projects';import Contact from './Contact';import { BrowserRouter as Router, Routes, Route, Link } from 'react-router-dom';const App = () => {return (<div><Router><nav><ul><Routes><Route path="/about" element={<About />} /><Route path="/blog" element={<Blog />} /><Route path="/contact" element={<Contact />} /><Route path="/" element={<Home />} /></Routes><li><Link to="/">Home</Link></li><li><Link to="/about">About</Link></li><li><Link to="/projects">Projects</Link></li><li><Link to="/contact">Contact</Link></li></ul></nav></Router></div>);};const Home = () => {return <h2>Home</h2>;};const About = () => {return <h2>About</h2>;};const Projects = () => {return <h2>Projects</h2>;};const Contact = () => {return <h2>Contact</h2>;};export default App;
Contribute to Docs
- Learn more about how to get involved.
- Edit this page on GitHub to fix an error or make an improvement.
- Submit feedback to let us know how we can improve Docs.
Learn React on Codecademy
- Front-end engineers work closely with designers to make websites beautiful, functional, and fast.
- Includes 34 Courses
- With Professional Certification
- Beginner Friendly.115 hours
- In this React course, you’ll build powerful interactive applications with one of the most popular JavaScript libraries.
- Intermediate.13 hours