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={ {header: Other, body: OtherBody}}></Route>
‘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;
时间: 2024-10-07 03:57:29