本文实例为大家分享了react实现同页面三级跳转路由布局的具体代码,供大家参考,具体内容如下
一级路由+布局组件:
//嵌套路由小案例 布局页面一级路由
import React from 'react'
import {BrowserRouter as Router, Route, Link} from 'react-router-dom' //引入路由要用的组件
import Index from './Index' //二级路由 首页
import Video from './Video' // 二级路由 视频
import Workplace from './Workplace' //二级路由 职场
import './Router.css'
//假设是后端获取的动态路由
function AppRouter(){
let routeConfig = [
{path:'/',title:'博客首页',exact:true,component:Index},
{path:'/video',title:'视频教程',exact:false,component:Video},
{path:'/workplace',title:'职场技能',exact:false,component:Workplace},
]
return(
<Router>
<div className='mainDiv'>
{/* 左侧导航部分 */}
<div className='leftNav'>
<h3>一级导航</h3>
<ul>
{/* 渲染动态路由 */}
{
routeConfig.map((item,index)=>{
return (
<li key={index}>
<Link to={item.path}>{item.title}</Link>
</li>
)
})
}
</ul>
</div>
{/* 右侧显示部分 */}
<div className='rightMain'>
{
routeConfig.map((item,index)=>{
return (
<Route key={index} exact={item.exact} path={item.path} component={item.component} />
)
})
}
</div>
</div>
</Router>
)
}
export default AppRouter
布局css:
body{
padding: 0px;
margin: 0px;
}
.mainDiv{
display: flex;
width: 100%;
}
.leftNav{
width: 16%;
background-color: #c0c0c0;
color:#333;
font-size:24px;
height: 1000px;
padding: 20px;
}
.rightMain{
width: 84%;
height:1000px;
background-color: #fff;
font-size:20px;
}
二级路由 首页组件
//首页 二级路由
import React,{Component} from 'react'
class Index extends Component {
constructor(props) {
super(props);
this.state = { }
}
render() {
return (
<div>
<h2>我是首页</h2>
</div>
);
}
}
export default Index;
二级路由 视频组件
//视频页面 二级路由
import React from 'react'
import { Route, Link} from 'react-router-dom'
import ReactPage from './video/ReactPage'
import Flutter from './video/Flutter'
import Vue from './video/Vue'
import './Video.css'
function Video(){
return(
<div>
<div className='topNav'>
<ul>
<li><Link to='/video/reactpage/'>React教程</Link></li>
<li><Link to='/video/Flutter/'>Flutter教程</Link></li>
<li><Link to='/video/Vue/'>Vue教程</Link></li>
</ul>
</div>
<div className='videoContent'>
<div>
<h3>视频教程</h3>
<Route path='/video/reactpage/' component={ReactPage} />
<Route path='/video/Flutter/' component={Flutter} />
<Route path='/video/Vue/' component={Vue} />
</div>
</div>
</div>
)
}
export default Video
三级路由 视频 子页面
//三级路由
import React from 'react'
function Flutter(){
return (
<h2>
我是Flutter
</h2>
)
}
export default Flutter
//三级路由
import React from 'react'
function ReactPage(){
return (
<h2>
我是react
</h2>
)
}
export default ReactPage
..
其余二级三级页面类似
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“react实现同页面三级跳转路由布局”评论...
更新动态
2025年10月24日
2025年10月24日
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]
