如何在React Router中正确使用IndexRoute?

约书亚·迈克尔·瓦格纳(Joshua Michael Wagoner)

我正在将React用于一个小型Web应用程序。它具有5页的基本网站布局。(Home | About | Contact | Press | Shows),所以我想使用一个仅显示菜单,页眉和页脚的应用程序模板,而这{props.children}将是React Router的路由组件。为此,我使用了以下代码。假设所有进口都在那里...

这是我的路由器代码:

export default (props) => {
    return (
        <Router history={ hashHistory }>
            <Route path="/" component={ Template }>
                <IndexRoute component={ Home }></IndexRoute>
                <Route path="about"   component={ About }></Route>
                <Route path="music"   component={ Music }></Route>
                <Route path="store"   component={ Store }></Route>
                <Route path="shows"   component={ Shows }></Route>
                <Route path="contact" component={ Contact }></Route>
            </Route>
        </Router>
    );
}

现在这是我的模板:

export default ( props ) => {
    return (
        <div className="container">
            <Header />
            <Menu />
            { props.children }
            <Footer />
        </div>
    );
}

我知道出了点问题,没有CSS魔术的b / c,a:active始终是HOME和其他任何活动页面。IE(如果我单击“关于”),则“主页”和“关于”均处于活动状态。如何正确使用索引路由,还是应该在这种简单的应用程序中使用索引路由?如果没有,那么我又该如何使用像我拥有的​​模板那样的模板,并以另一种方式将页面作为组件传递?

更新:这是我的Menu.js文件...

const Menu = () => {
    return (
        <div>
          <nav>
            <Link activeClassName="nav-active" to="/">Home</Link>
            <Link activeClassName="nav-active" to="about">About</Link>
            <Link activeClassName="nav-active" to="music">Music</Link>
            <Link activeClassName="nav-active" to="shows">Shows</Link>
            <Link activeClassName="nav-active" to="store">Store</Link>
            <Link activeClassName="nav-active" to="contact">Contact</Link>
          </nav>
          <hr className="line" />
        </div>
    );
}

export default Menu;
科科文·弗拉迪斯拉夫(Kokovin Vladislav)

对于索引路由,您应该使用IndexLink comp,否则“ Home”将一直处于活动状态

import {Link,IndexLink} from 'react-router';

<IndexLink activeClassName="nav-active" to="/">Home</IndexLink>
<Link activeClassName="nav-active" to="about">About</Link>
<Link activeClassName="nav-active" to="music">Music</Link>
 ...

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在react-router中正确键入组件属性?

来自分类Dev

如何在react中正确使用react-error-boundary?

来自分类Dev

如何在React-Native导航中正确使用Redux

来自分类Dev

如何在React中正确使用Onsen的Navigator?

来自分类Dev

如何在React与TypeScript中正确使用useState钩子?

来自分类Dev

如何在React中正确使用Onsen的Navigator?

来自分类Dev

如何在 reactjs 中正确使用 react-dates

来自分类Dev

如何在 React Native 中正确调试?

来自分类Dev

如何在 React 中正确更新显示?

来自分类Dev

如何在C中正确使用malloc?

来自分类Dev

如何在列表中正确使用Observable?

来自分类Dev

如何在GinMapBinder中正确使用TypeLiteral?

来自分类Dev

如何在Qt中正确使用AdjustSize()

来自分类Dev

如何在MySQL中正确使用索引

来自分类Dev

如何在SUMPRODUCT函数中正确使用OR

来自分类Dev

如何在EAR中正确使用OmniFaces

来自分类Dev

如何在Spring中正确使用@Async

来自分类Dev

如何在结构中正确使用fget?

来自分类Dev

如何在TThread中正确使用Idhttp?

来自分类Dev

如何在Python中正确使用fminsearch?

来自分类Dev

如何在Swift中正确使用EventLoopFuture?

来自分类Dev

如何在python中正确使用队列?

来自分类Dev

如何在Rust中正确使用`peek()`?

来自分类Dev

如何在MIPS中正确使用指针?

来自分类Dev

如何在addEventListener中正确使用querySelectorAll

来自分类Dev

如何在Pygame中正确使用colliderect?

来自分类Dev

如何在C ++中正确使用并集?

来自分类Dev

如何在python中正确使用'or'和'and'

来自分类Dev

如何在pyqt中正确使用线程?