React Routing
Example Routes.js file, followed by use of Router Link in component
Section titled “Example Routes.js file, followed by use of Router Link in component”Place a file like the following in your top level directory. It defines which components to render for which paths
Now in your top level index.js that is your entry point to the app, you need only render this Router component like so:
Now it is simply a matter of using Link instead of <a> tags throughout your application. Using Link will communicate with React Router to change the React Router route to the specified link, which will in turn render the correct component as defined in routes.js
React Routing Async
Section titled “React Routing Async”import React from 'react';import { Route, IndexRoute } from 'react-router';
import Index from './containers/home';import App from './components/app';
//for single Component lazy load use thisconst ContactComponent = () => { return { getComponent: (location, callback)=> { require.ensure([], require => { callback(null, require('./components/Contact')["default"]); }, 'Contact'); } }};
//for multiple componnets const groupedComponents = (pageName) => { return { getComponent: (location, callback)=> { require.ensure([], require => { switch(pageName){ case 'about' : callback(null, require( "./components/about" )["default"]); break ; case 'tos' : callback(null, require( "./components/tos" )["default"]); break ; } }, "groupedComponents"); } }};export default( <Route path="/" component={App}> <IndexRoute component={Index} /> <Route path="/contact" {...ContactComponent()} /> <Route path="/about" {...groupedComponents('about')} /> <Route path="/tos" {...groupedComponents('tos')} /> </Route>);