React Router默认路由重定向到/ home

时间:2015-07-11 19:28:44

标签: javascript reactjs react-router react-bootstrap

我很反应,我选择使用路由器和引导程序库。它们基本上只是react-router-bootstrap。我只是对事物感觉很好,我想创建一个具有一些基本网址导航的网络应用程序。我有4个部分,主页浏览添加和关于,点击链接工作得很好,路由也是如此,但当导航到默认路由时,处理程序工作正常,因为它显示Home组件,但不会使主页按钮在导航中活跃。我有点卡住,想知道是否有人可以帮助我?我想让那个家庭部分活跃在' /'默认路线,并认为我可以重定向到' / home'然后让其余的人来处理它,但是看起来我不能为DefaultRoute添加路径道具。所以我很好奇是否有人有任何想法?同样好奇,如果这看起来像构建我正在构建的东西的正确方法。

我的要点是HERE

提前感谢所有人!!!

1 个答案:

答案 0 :(得分:3)

我做的唯一改变是你的路线,他们过去看起来像这样:

var routes = (
<Route handler={App} >

    <DefaultRoute handler={Home}/>

    <Route name="home" handler={Home} path="/home">
    </Route>

    <Route name="browse" handler={Browse} path="/browse">
    </Route>

    <Route name="add" handler={Add} path="/add">
    </Route>

    <Route name="about" handler={About} path="/about">
    </Route>
</Route>

);

我将它们改为:

var routes = (
<Route handler={App} >

    <DefaultRoute name="home" path="/" handler={Home}/>

    <Route handler={Home} path="/home">
    </Route>

    <Route name="browse" handler={Browse} path="/browse">
    </Route>

    <Route name="add" handler={Add} path="/add">
    </Route>

    <Route name="about" handler={About} path="/about">
    </Route>
</Route>

);

我测试了它,它按预期工作。当您访问主页时,该网址只有/#/,并且没有/#/home这样的后缀,我认为这不是问题。