react實(shí)現(xiàn)同頁(yè)面三級(jí)跳轉(zhuǎn)路由布局
本文實(shí)例為大家分享了react實(shí)現(xiàn)同頁(yè)面三級(jí)跳轉(zhuǎn)路由布局的具體代碼,供大家參考,具體內(nèi)容如下
一級(jí)路由+布局組件:
//嵌套路由小案例 布局頁(yè)面一級(jí)路由 import React from 'react' import {BrowserRouter as Router, Route, Link} from 'react-router-dom' //引入路由要用的組件 import Index from './Index' //二級(jí)路由 首頁(yè) import Video from './Video' // 二級(jí)路由 視頻 import Workplace from './Workplace' //二級(jí)路由 職場(chǎng) import './Router.css' //假設(shè)是后端獲取的動(dòng)態(tài)路由 function AppRouter(){ let routeConfig = [ {path:'/',title:'博客首頁(yè)',exact:true,component:Index}, {path:'/video',title:'視頻教程',exact:false,component:Video}, {path:'/workplace',title:'職場(chǎng)技能',exact:false,component:Workplace}, ] return( <Router> <div className='mainDiv'> {/* 左側(cè)導(dǎo)航部分 */} <div className='leftNav'> <h3>一級(jí)導(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; }
二級(jí)路由 首頁(yè)組件
//首頁(yè) 二級(jí)路由 import React,{Component} from 'react' class Index extends Component { constructor(props) { super(props); this.state = { } } render() { return ( <div> <h2>我是首頁(yè)</h2> </div> ); } } export default Index;
二級(jí)路由 視頻組件
//視頻頁(yè)面 二級(jí)路由 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
三級(jí)路由 視頻 子頁(yè)面
//三級(jí)路由 import React from 'react' function Flutter(){ return ( <h2> 我是Flutter </h2> ) } export default Flutter
//三級(jí)路由 import React from 'react' function ReactPage(){ return ( <h2> 我是react </h2> ) } export default ReactPage ..
其余二級(jí)三級(jí)頁(yè)面類似
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
React學(xué)習(xí)之事件綁定的幾種方法對(duì)比
這篇文章主要給大家介紹了關(guān)于React學(xué)習(xí)之事件綁定的幾種方法對(duì)比,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-09-09React 組件中的state和setState()你知道多少
這篇文章主要為大家詳細(xì)介紹了React組件中的state和setState(),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03用React實(shí)現(xiàn)一個(gè)類 chatGPT 的交互式問(wèn)答組件的方法詳解
這篇文章主要給大家詳細(xì)介紹如何用React實(shí)現(xiàn)一個(gè)類 chatGPT 的交互式問(wèn)答組件的方法,文中有詳細(xì)的代碼示例,對(duì)我們學(xué)習(xí)有一定的幫助,需要的朋友可以參考下2023-06-06React生命周期方法之componentDidMount的使用
這篇文章主要介紹了React生命周期方法之componentDidMount的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06React Refs轉(zhuǎn)發(fā)實(shí)現(xiàn)流程詳解
Refs是一個(gè) 獲取 DOM節(jié)點(diǎn)或React元素實(shí)例的工具,在React中Refs 提供了一種方式,允許用戶訪問(wèn)DOM 節(jié)點(diǎn)或者在render方法中創(chuàng)建的React元素,這篇文章主要給大家介紹了關(guān)于React中refs的一些常見(jiàn)用法,需要的朋友可以參考下2022-12-12react native仿微信PopupWindow效果的實(shí)例代碼
本篇文章主要介紹了react native仿微信PopupWindow效果的實(shí)例代碼,具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08