react-router 4路由共享菜单栏的问题
需求描述:
1.pc网站大概三个路由模块 /(主页) /login /console
2./下面有两个个子路由/docs /service这两个路由共用同一个导航栏,导航栏切换
3./login自己单独一个页面
4./console自己单独一个页面下面也有很多子路由
我的方案:
<Router>
<div className="portal">
<Switch>
<Route path="/login" component={Login} />
<Route exact path="/" component={Home} />
<Route path="/docs" component={Docs} />
</Switch>
{/* <Route path="/topics" component={Topics} /> */}
</div>
</Router>
我的问题:
1.怎么控制/下的/docs和/service共用一个导航栏,3版本可以用this.props.children
2.怎么控制/login,/console不需要导航栏
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
React Router v4中,Route只不过是一个普通的React组件,所以你可以像使用其他组件一样,在任意地方使用Route,这也是React Router v4建议的分散式的Route管理。基于此,你的Route可以修改如下:
React Router v4的使用,重要是思想上的转变,推荐你看下我的这篇文章:聊聊 React Router v4 的设计思想。
你home组件里面直接写docs和service的route就好了