In this lesson we'll learn how to render multiple component children from a single route.
Define a named component by ' components ':
<route path= "/other" components={{headerbody: otherbody}}></route>
The ' header ' and ' body ' are the key.
Render:
Const Container = (props) = <div>{props.header}{props.body}<links/></div>;
------------------
import React from ‘react‘;
import {hashHistory, Route, Router, Link, IndexRoute} from ‘react-router‘;
const Home = () => <h1>Home</h1>;
const HomeBody = () => <h3>HomeBody</h3>;
const Other = () => <h1>Other</h1>;
const OtherBody = () => <h3>OtherBody</h3>; const Container = (props) => <div>{props.header}{props.body}<Links /></div>;
const Links = () =>
<nav >
<Link to="/">Home</Link>
<Link to="/other">Other</Link>
</nav>; class App extends React.Component {
render(){ return( <Router history={hashHistory}>
<Route path="/" component={Container}>
<IndexRoute components={ {header: Home, body: HomeBody} }></IndexRoute>
<Route path="/other" components={ {header: Other, body: OtherBody}}></Route>
</Route>
</Router> );
}
}
export default App;
[React] React router:named Components