IndexRoute allows us to define a default child component to be rendered at a specific route when no other sub-route is available.
When Home page display, we also make About component as default Route to dsiplay, only when use click Contact link, then swith to Contact Route:
import React from ‘react‘; import {hashHistory, Route, Router, Link, IndexRoute} from ‘react-router‘; const Home = (props) => <div><h1>Home</h1><Links></Links>{props.children}</div>; const About = () => <div><h1>About</h1></div>; const Contact = () => <div><h1>Contact</h1></div>; const Links = () => <nav > <Link activeStyle={{color: ‘green‘}} to="/">Home</Link> <Link activeClassName="active" to="/contact">Contact</Link> </nav>; class App extends React.Component { render(){ return( <Router history={hashHistory}> <Route path="/" component={Home}> <IndexRoute component={About}></IndexRoute> <Route path="contact" component={Contact}></Route> </Route> </Router> ); } } export default App;
时间: 2024-10-18 13:18:36