十七、React路由嵌套:头部导航+侧边导航
一、概述
实现功能:点首页,展示首页,同时在左侧有个首页的各个栏目导航;点用户,同首页;

二、代码实现
1. src/App.js
import React from 'react';
import './App.css';
import { BrowserRouter as Router, Route,Link } from 'react-router-dom'; //引入路由模块
import Home from './components/home';
import User from './components/user';
function App() {
return (
<Router>
<div>
<header className='header'>
<Link to='/'>首页</Link>
<Link to='user'>个人中心</Link>
</header>
<Route exact path="/" component={Home} />
<Route path="/user" component={User} />
</div>
</Router>
);
}
export default App;
src/App.css
.header{
background-color:#000;
height: 50px;
padding-top: 5px;
padding-left: 5px;
}
.header a{
color: #fff;
margin-right: 10px;
/*a链接在 div内垂直居中写法*/
height: 50px;
line-height: 50px;
}
2.【重点】src/components/user.js
import React, { Component } from 'react';
import './css/user.css';
import {BrowserRouter as Router,Route,Link} from 'react-router-dom';
import Main from './user/main.js';
import Info from './user/info';
class User extends Component {
constructor(props){
super(props);
this.state={}
}
render() {
return (
<Router>
<div className='user'>
<div className='left'>
<Link to='/user/'>个人中心</Link><br/>
<Link to='/user/info'>个人信息</Link>
</div>
<div className='right'>
{/* 父目录的动态写法:this.props.match.url 在此处=/user/ */}
<Route exact path={`${this.props.match.url}/`} component={Main} />
<Route path='/user/info' component={Info} />
</div>
</div>
</Router>
);
}
}
export default User;
src/components/css/user.css
.user{
width:100%;
height: 800px;
display:flex;
}
.user .left{
width:200px;
height: 800px;
background-color: antiquewhite;
border: 1px solid rgb(189, 71, 71);
padding-left: 20px;
padding-top: 50px;
}
.user .right{
-webkit-flex: 1;
flex:1;
height: 800px;
background-color: #eee;
border: 1px solid rgb(170, 43, 43);
}
3.src/components/user/main.js、info.js
3.1 main.js
import React, { Component } from 'react';
class Main extends Component {
constructor(props){
super(props);
this.state={}
}
render() {
return (
<div>
这里是个人中心主页
</div>
);
}
}
export default Main;
3.2 info.js
import React, { Component } from 'react';
class Info extends Component {
constructor(props){
super(props);
this.state={}
}
render() {
return (
<div>
这里是个人信息中心
</div>
);
}
}
export default Info;
4.src/components/home.js
import React, { Component } from 'react';
class Home extends Component {
constructor(props){
super(props);
this.state={ }
}
render() {
return (
<div>
这里是首页
</div>
);
}
}
export default Home;
5.效果

从首页点到个人中心后,再点左侧导航,可跳转到对应信息处
十七、React路由嵌套:头部导航+侧边导航的更多相关文章
- react路由嵌套
所谓的嵌套路由就是在某些以及路由下面存在二级路由,这些二级路由除了公用一级路由导航模块外,还公用当前的二级路由的导航模块,也就是部分进行了切换,要实现嵌套路由,首先回顾之前的内容,实现基本的react ...
- 我的一个React路由嵌套(多级路由),路由传参之旅
在上一篇react路由之旅中,我们简单地配置了react,进行了react路由及相关知识的学习,引入以及实现一个局部跳转的功能,接下来就是深入学习路由的嵌套以及传参,这是工作中主要用要的. 我的rea ...
- React+Ant Design设置左侧菜单导航路由的显示与隐藏(与权限无关)
最近在学习react时,用到了很流行的UI框架Ant Design,也了解了一下Ant Design Pro,发现它们都有导航组件,Ant Design框架的导航菜单在这里,Ant Design Pr ...
- Vue总结第五天:vue-router (使用模块化(创建Vue组件)机制编程)、router-link 标签的属性、路由代码跳转、懒加载、路由嵌套(子路由)、路由传递数据、导航守卫)
Vue总结第五天:vue-router ✿ 路由(器)目录: □ vue中路由作用 □ vue-router基本使用 □ vue-router嵌套路由 □ vue-router参数传递 □ ...
- jQuery实现侧边导航栏效果
效果图: 效果体验:http://keleyi.com/keleyi/phtml/jqmenu/2.htm 以下是完整代码: <!DOCTYPE html> <html> &l ...
- Android 新兴的UI模式——侧边导航栏【转】
侧边导航栏也就是大家熟知的SliddingMenu,英文也叫Fly-In App Menu.Side Navigation等.当然谷歌现在已经推出类似这个效果的组件--Navigation Drawe ...
- 【源码分享】jquery+css实现侧边导航栏
jquery+css实现侧边导航栏 最近做项目的时候,突然想用一个侧边导航栏,网上找了几个插件,有的太丑而且不太符合我的预期.与其修改别人的代码,不如自己来写一个了.废话不多说先上图,感兴趣的请继续看 ...
- [置顶]
bootstrap自定义样式-bootstrap侧边导航栏的实现
前言 bootstrap自带的响应式导航栏是向下滑动的,有时满足不了个性化的需求,需要做一个类似于android drawerLayout 侧滑的菜单,这就是我要实现的bootstrap自定义侧滑菜单 ...
- (https专业版)2018年1月5日高仿互站仿友价T5虚拟交易+实物交易商城-站长交易源码送手机版程序10套模版+首页微信登陆+头部下拉导航
(https专业版)2018年1月5日高仿互站仿友价T5虚拟交易+实物交易商城-站长交易源码送手机版程序10套模版+首页微信登陆+头部下拉导航 首页支持微信登陆,只有第8套模板支持(endv模板),后 ...
随机推荐
- 吴裕雄--天生自然PythonDjangoWeb企业开发:学员管理系统- 前台
开发首页 做一个简单的用户提交申请的表单页面. 首先在student/views.py文件中编写下面的代码: # -*- coding: utf-8 -*- from __future__ impor ...
- Caffe2 模型与数据集(Models and Datasets)[3]
Models and Datasets 这一节没什么有用的信息为了保证教程完整性,这里仍然保留这一节. 这一节唯一提到的一点就是: Caffe2的模型文件后缀是:.pb2 结语: 转载请注明出处:ht ...
- 删除hdfs上的内容报错:rm: Cannot delete /wxcm/ Name node is in safe mode.
问题:在执行删除hdfs上的内容时(hdfs dfs -rm -f -r -skipTrash /wxcm)报错:rm: Cannot delete /wxcm/ Name node is in sa ...
- 刷题19. Remove Nth Node From End of List
一.题目说明 这个题目是19. Remove Nth Node From End of List,不言自明.删除链表倒数第n个元素.难度是Medium! 二.我的解答 链表很熟悉了,直接写代码. 性能 ...
- ImageSwitcher和GridView的案例开发
(一)ImageSwitcher之手机相册的滑动查看 首先在布局文件上加一个ImageSwitcher,设置它的宽度和高度为match_parent. 在主程序中:首先设置一个存储照片资源的数组,在设 ...
- Python 爬取 北京市政府首都之窗信件列表-[信息展示]
日期:2020.01.25 博客期:133 星期六 [代码说明,如果要使用此页代码,必须在本博客页面评论区给予说明] //博客总体说明 1.准备工作 2.爬取工作 3.数据处理 4.信息展示(本期博客 ...
- Swift-如何快速学习Swift
关于本文: 1.说明本文写作的目的 2.整理了Swift的基本语法树 3.看图作文 一.写作目的 昨天看了一个知识专栏,作者讲述的是“如何研究性的学习”.整个课程1个小时9分钟,花了我19块人民币.其 ...
- 如何创建Github账号及将本地项目上传至GitHub?
如何将本地项目上传至GitHub 首先你需要一个github账号,所有还没有的话先去注册吧! https://github.com/ 我们使用git需要先安装git工具,这里给出下载地址,下载后一路直 ...
- 十七 Spring的JDBC模版:使用开源连接池,DBCP,C3P0
DBCP的配置以及使用 引入jar包
- c# 事件3
1.什么是事件,使对象或者类具有通知功能的成员.//为了解决字段在外部被滥用,推出了事件 事件的功能能=通知+可选的事件参数(具体的详细信息,包括谁发送了消息,发送的什么消息) 使用:用于对象或者类件 ...