Saturday, March 11, 2017

ReactJS - Router

In this chapter we will show you how to set up routing for your app.

Step 1 - Install React Router

Simple way to install react-router is to run the following code snippet in command prompt window.
C:\Users\username\Desktop\reactApp>npm install react-router

Step 2 - Create Components

In this step we are creating four components. The App component will be used as a tab menu. The other three components (Home), (About) and (Contact) are rendered once the route has changed.

main.js

import React from 'react';
import ReactDOM from 'react-dom';
import { Router, Route, Link, browserHistory, IndexRoute  } from 'react-router'

class App extends React.Component {
   render() {
      return (
         <div>
            <ul>
               <li>Home</li>
               <li>About</li>
               <li>Contact</li>
            </ul>
    
           {this.props.children}
         </div>
      )
   }
}

export default App;

class Home extends React.Component {
   render() {
      return (
         <div>
            <h1>Home...</h1>
         </div>
      )
   }
}

export default Home;

class About extends React.Component {
   render() {
      return (
         <div>
            <h1>About...</h1>
         </div>
      )
   }
}

export default About;

class Contact extends React.Component {
   render() {
      return (
         <div>
            <h1>Contact...</h1>
         </div>
      )
   }
}

export default Contact;

Step 3 - Add Router

Now we want to add routes to our app. Instead of rendering App element like in previous examples, this time the Router will be rendered. We will also set components for each route.

main.js

ReactDOM.render((
   <Router history = {browserHistory}>
      <Route path = "/" component = {App}>
         <IndexRoute component = {Home} />
         <Route path = "home" component = {Home} />
         <Route path = "about" component = {About} />
         <Route path = "contact" component = {Contact} />
      </Route>
   </Router>
 
), document.getElementById('app'))
When the app is started, we will see three clickable links that can be used to change the route.
React Router Example

No comments:

Post a Comment