react實(shí)現(xiàn)同頁面三級跳轉(zhuǎn)路由布局
更新時(shí)間:2019年09月26日 14:08:36 作者:小羽向前跑
這篇文章主要為大家詳細(xì)介紹了react實(shí)現(xiàn)同頁面三級跳轉(zhuǎn)路由布局,一個(gè)路由小案例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了react實(shí)現(xiàn)同頁面三級跳轉(zhuǎn)路由布局的具體代碼,供大家參考,具體內(nèi)容如下

一級路由+布局組件:
//嵌套路由小案例 布局頁面一級路由
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'
//假設(shè)是后端獲取的動(dòng)態(tài)路由
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'>
{/* 左側(cè)導(dǎo)航部分 */}
<div className='leftNav'>
<h3>一級導(dǎo)航</h3>
<ul>
{/* 渲染動(dòng)態(tài)路由 */}
{
routeConfig.map((item,index)=>{
return (
<li key={index}>
<Link to={item.path}>{item.title}</Link>
</li>
)
})
}
</ul>
</div>
{/* 右側(cè)顯示部分 */}
<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
..
其余二級三級頁面類似
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
React 模塊聯(lián)邦多模塊項(xiàng)目實(shí)戰(zhàn)詳解
這篇文章主要介紹了React 模塊聯(lián)邦多模塊項(xiàng)目實(shí)戰(zhàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
React利用lazy+Suspense實(shí)現(xiàn)路由懶加載
這篇文章主要為大家詳細(xì)介紹了React如何利用lazy+Suspense實(shí)現(xiàn)路由懶加載,文中的示例代碼簡潔易懂,感興趣的小伙伴可以跟隨小編一起了解一下2023-06-06
關(guān)于react hook useState連續(xù)更新對象的問題
這篇文章主要介紹了關(guān)于react hook useState連續(xù)更新對象的問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03

