gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 06:00:35 25 4
gpt4 key购买 nike

我正在将 React 用于一个小型网络应用程序。它有一个基本的 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>
);
}

我知道出了点问题,b/c 没有 CSS 魔法,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;

最佳答案

对于索引路由,您应该使用 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>
...

关于javascript - 如何在 React Router 中正确使用 IndexRoute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38084118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com