路由嵌套
刚才讲的是简单路由的切换,但实际应用中,路由是分多个层级的。幸运的是,我们可以使用react-router的路由嵌套来清晰的管理路由和组件之间的切换展示。
import React, { Component } from 'react';
import { Router, Route, browserHistory, Link } from 'react-router';
import './App.css';
const Home = (props) =>
<div>
<h1>Home</h1>
<Links />
{props.children}
</div>
const About = (props) =>
<div>
<h1>About</h1>
{props.children}
</div>
const Contact = () =>
<div>
<h1>Contact</h1>
</div>
const Links = () =>
<nav>
<Link activeClassName="active" to="/">Home</Link>
<Link activeClassName="active" to="/about">About</Link>
<Link activeClassName="active" to="/about/contact">Contact</Link>
</nav>
class App extends Component {
render() {
return (
<Router history={browserHistory}>
<Route path="/" component={Home}>
<Route path="about" component={About}>
<Route path="contact" component={Contact} />
</Route>
</Route>
</Router>
);
}
}
export default App;