如何使用React-Router默认显示路由

fgo*_*lez 2 javascript reactjs react-router react-router-component react-routing

我是React的新手,我想开发一个单页应用程序,所以我正在使用react-router四路由.

在main.js下面,我指定路线

import React from 'react';
import {Router,Route} from 'react-router';
import {App} from './components/App';
import {Login} from './components/Login';
import {Home} from './components/Home';
import { history } from 'react-router';

React.render(
<Router history={history}>
    <Route path="/" component={App}>
        <Route path="home" component={Home}/>
        <Route path="login" component={Login}/>

    </Route>
</Router>,
document.getElementById('main')
);
Run Code Online (Sandbox Code Playgroud)

然后是App.js,你可以看到我希望有一个固定的页眉和页脚,然后根据路线改变页面的内容.

import React from 'react';
import {Header} from './Header';
import {Footer} from './Footer';

export class App extends React.Component {


render() {
    console.log(this.props.children);
    return (<div>
        <Header/>
        <div className="page-content">
            {this.props.children}
        </div>
        <Footer/>
    </div>);
}


}
Run Code Online (Sandbox Code Playgroud)

使用此代码,一旦应用程序加载了路径("/"),我需要单击主页链接以显示主页内容,但是我希望在首次加载应用程序时默认显示.

我怎样才能做到这一点?

谢谢!!

Hae*_*gin 5

我想你可能想使用一个IndexRoute描述这里的阵营路由器文档.

你的路由器看起来像这样:

<Router history={history}>
    <Route path="/" component={App}>
        <IndexRoute component={Home}/>
        <Route path="login" component={Login}/>
    </Route>
</Router>
Run Code Online (Sandbox Code Playgroud)