我正在尝试使用路径/acts
和/acts/lite
呈现两个不同的组件。问题是,当我转到/acts/lite
时,我会渲染两个组件,而不仅仅是与此路径对应的组件......
当我导航到/acts/lite
时,文字Test Acts
仍在那里......
这是我的Router
:
<Router>
<div>
<App>
<Route exact path="/login" component={LoginPage}/>
<div className="flexible-width container">
<Route path="/acts" component={requireAuth(ActsPage)} />
<Route path="/acts/lite/" component={requireAuth(ActsLitePage)} />
</div>
</App>
</div>
</Router>
ActsPage
组件:
class ActsPage extends React.Component {
render() {
return (
<div>
Test Acts
</div>
);
}
}
export default ActsPage;
ActsLitePage
组件:
class ActsLitePage extends React.Component {
render() {
return (
<div>
Testing Acts Lite
</div>
);
}
}
export default ActsLitePage;
这是显示带有这两个链接的侧边栏的组件:
var Sidebar = React.createClass({
render() {
var sidebarClass = this.props.isOpen ? 'sidebar open' : 'sidebar';
return (
<div className={sidebarClass}>
<div><Link to="/acts/">Acts</Link></div>
<div><Link to="/acts/lite/">Acts Lite</Link></div>
</div>
);
}
});
export default Sidebar;
我真的不知道自己做错了什么,或者为什么会这样做......
答案 0 :(得分:5)
你错过了“确切”的路线:
<Link exact to="/acts/">Acts</Link>