React Router is used to define multiple routes in the application.
Routing is a process in which a user is directed to different pages based on their action or request.
React Router Installation
react-router-dom: It is used for web applications design.
https://www.npmjs.com/package/react-router-dom
$ npm install --save react-router-dom
C:\reactdev\myreactdev>npm install --save react-router-dom
src/index.js
import React from 'react'; import ReactDOM from 'react-dom'; import { Route, Link, BrowserRouter as Router, NavLink, Switch} from 'react-router-dom' import App from './App'; import About from './About' import Contact from './Contact' import Notfound from './notfound' const routing = ( <Router> <div> <h1>React Router Example</h1> <ul> <li> <NavLink to="/" exact activeStyle={ {color:'red'} }>Home</NavLink> </li> <li> <NavLink to="/about" exact activeStyle={ {color:'green'} }>About</NavLink> </li> <li> <NavLink to="/contact" exact activeStyle={ {color:'magenta'} }>Contact</NavLink> </li> </ul> <Switch> <Route exact path="/" component={App} /> <Route path="/about" component={About} /> <Route path="/contact" component={Contact} /> <Route component={Notfound} /> </Switch> </div> </Router> ) ReactDOM.render(routing, document.getElementById('root'));public/index.html
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <title>React App</title> </head> <body> <div id="root"></div> </body> </html>src/App.js
//src/App.js import React from 'react' class App extends React.Component { render() { return ( <div> <h1>Home</h1> </div> ) } } export default Appsrc/About.js
//src/About.js import React from 'react' class About extends React.Component { render() { return <h1>About</h1> } } export default Aboutsrc/Contact.js
//src/Contact.js import React from 'react' import { Route, Link } from 'react-router-dom' const Contacts = ({ match }) => <p>{match.params.id}</p> class Contact extends React.Component { render() { const { url } = this.props.match return ( <div> <h1>Welcome to Contact Page</h1> <strong>Select contact Id</strong> <ul> <li> <Link to="/contact/1">Contacts 1 </Link> </li> <li> <Link to="/contact/2">Contacts 2 </Link> </li> <li> <Link to="/contact/3">Contacts 3 </Link> </li> <li> <Link to="/contact/4">Contacts 4 </Link> </li> </ul> <Route path="/contact/:id" component={Contacts} /> </div> ) } } export default Contactnotfound.js
//notfound.js import React from 'react' const Notfound = () => <h1>Not found</h1> export default Notfound