亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > JS > 正文

關于React動態加載路由處理的相關問題

2024-05-06 16:47:38
字體:
來源:轉載
供稿:網友

前言

相信很多人都遇到過想在React項目中動態加載路由這種問題,接下來我們逐步實現。

引入必要的依賴

import React from 'react'import { Router, Route, IndexRoute, hashHistory } from 'react-router'

接下來創建一個component函數

目的就是為了變為router的component實現異步加載。

// 異步按需加載componentfunction asyncComponent(getComponent) {  return class AsyncComponent extends React.Component {   static Component = null;   state = { Component: AsyncComponent.Component };    componentDidMount() {    if (!this.state.Component) {     getComponent().then(({default: Component}) => {      AsyncComponent.Component = Component      this.setState({ Component })     })    }   }   //組件將被卸載   componentWillUnmount(){     //重寫組件的setState方法,直接返回空    this.setState = (state,callback)=>{      return;    };   }   render() {    const { Component } = this.state    if (Component) {     return <Component {...this.props} />    }    return null   }  } }

在此說明componentWillUnmount鉤子是為了解決Can only update a mounted or mounting component的這個問題,原因是當離開頁面以后,組件已經被卸載,執行setState時無法找到渲染組件。

接下來實現本地文件路徑的傳入

 function load(component) {  return import(`./routes/${component}`) }

將已知地址路徑傳遞到一個函數并把這個函數作為參數傳遞到 asyncComponent中這樣asyncComponent就能接收到這個路由的地址了,然后我們要做的就是將這個asyncComponent函數帶入到router中。

<Router history={hashHistory}>    <Route name="home" breadcrumbName="首頁" path="/" component={MainLayout}>      <IndexRoute name="undefined" breadcrumbName="未定義" component={() => <div>未定義</div>}/>      <Route name="Development" breadcrumbName="施工中" path="Development" component={DevelopmentPage}/>      <Route breadcrumbName="個人助理" path="CustomerWorkTodo" component={({children}) => <div className="box">{children}</div>}>        <Route name="Agency" breadcrumbName="待辦事項" path="Agency" component={asyncComponent(() => load('GlobalNotification/CustomerWorkAssistantTodo/CustomerAgencyMatter'))}/>        <Route name="Already" breadcrumbName="已辦事項" path="Already" component={asyncComponent(() => load('GlobalNotification/CustomerWorkAssistantTodo/CustomerAlreadyMatter'))}/>        <Route name="SystemMessage" breadcrumbName="系統消息" path="SystemMessage/:data" component={asyncComponent(() => load('GlobalNotification/SystemMessage/SystemMessage'))}/>        <Route name="SystemMessagePer" breadcrumbName="系統消息詳情" path="SystemMessagePer/:data" component={asyncComponent(() => load('GlobalNotification/SystemMessage/SystemMessagePer'))}/>      </Route>    </Router> </Router>    

從代碼中可以看出已經實現了router 的component 的引入,這樣自然就可以通過一個循環來實現動態的加載啦!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美精品网址| 国产视频精品一区二区三区| 日本欧美一级片| 热99精品只有里视频精品| 欧美大全免费观看电视剧大泉洋| 91在线观看免费高清完整版在线观看| 在线精品视频视频中文字幕| 日韩av网站大全| 日韩精品视频在线免费观看| 欧美黄色免费网站| 精品国产福利视频| 久久亚洲影音av资源网| 欧美激情精品在线| 91视频88av| 大量国产精品视频| 91免费看片在线| 国产精国产精品| 欧美在线观看视频| 91久热免费在线视频| 狠狠躁夜夜躁人人爽天天天天97| 国产中文日韩欧美| 91av视频在线观看| 国产精品一二三在线| 美女视频黄免费的亚洲男人天堂| 日韩精品免费综合视频在线播放| 久久乐国产精品| 亚洲丝袜一区在线| 国产97色在线| 精品久久久久久中文字幕大豆网| 97在线视频观看| 久久久在线免费观看| 欧美xxxx做受欧美.88| 亚洲男人第一av网站| 欧美国产在线视频| 久久激情视频久久| 国产激情久久久久| 超碰日本道色综合久久综合| 成人在线中文字幕| 欧美激情网友自拍| 精品久久中文字幕久久av| 亚洲欧美在线免费观看| 色综合久久精品亚洲国产| 欧美精品成人91久久久久久久| 久久免费少妇高潮久久精品99| 2019亚洲日韩新视频| zzjj国产精品一区二区| 91在线高清视频| 国产日韩欧美视频在线| 欧美精品一区在线播放| 欧美中文在线免费| 日韩av在线网页| 欧美老妇交乱视频| 九色成人免费视频| www.亚洲成人| 成人综合国产精品| 国产精品视频地址| 国产精品在线看| 久久久久久亚洲| 亚洲精品一区二区三区婷婷月| 久久久极品av| 亚洲综合在线做性| 欧美性猛交xxx| 成人激情视频网| 欧美日韩国产123| 欧美激情亚洲精品| 97成人超碰免| 91av视频导航| 欧美极品少妇xxxxⅹ裸体艺术| 大量国产精品视频| 久久影视电视剧免费网站| 亚洲精品v欧美精品v日韩精品| 亚洲成人黄色网址| 日韩精品在线视频美女| 97香蕉久久夜色精品国产| 欧美午夜性色大片在线观看| 国产日韩欧美日韩大片| 日韩中文字幕在线观看| 久久综合色影院| 亚洲黄色免费三级| 92看片淫黄大片看国产片| 国产午夜精品美女视频明星a级| 久久久久久网址| 亚洲性日韩精品一区二区| 午夜精品久久17c| 91亚洲精品久久久久久久久久久久| 欧美高清自拍一区| 欧美日韩一二三四五区| 亚洲美女av电影| 91久久在线观看| 亚洲三级黄色在线观看| 日韩在线中文字| 国产香蕉97碰碰久久人人| 国产成人黄色av| 欧美激情2020午夜免费观看| 色综合久久悠悠| 成人久久18免费网站图片| 国产精品免费视频久久久| 国产精品极品在线| 欧美一级片一区| 91在线观看免费高清| 亚洲三级黄色在线观看| xvideos国产精品| 久久网福利资源网站| www.日韩免费| 91chinesevideo永久地址| 国产aⅴ夜夜欢一区二区三区| 国产精品日日做人人爱| 国产日韩av在线| 日韩精品在线观看视频| 啊v视频在线一区二区三区| 国产精欧美一区二区三区| 九九九久久久久久| 热草久综合在线| 色悠久久久久综合先锋影音下载| 国产午夜精品全部视频播放| 欧美亚洲另类视频| 亚洲a级在线播放观看| 亚洲天堂av在线免费观看| 亚洲人成欧美中文字幕| 久久久久久久色| 亚洲最大的成人网| 国产精品v片在线观看不卡| 另类专区欧美制服同性| 91欧美日韩一区| 91久久久久久久| 亚洲国产精品va| 亚洲老司机av| 国产午夜精品视频| 91九色单男在线观看| 欧美激情一区二区三级高清视频| 亚洲精品国产精品国自产在线| 欧美激情网站在线观看| 97香蕉久久超级碰碰高清版| 欧美日产国产成人免费图片| 97av在线视频| 2019中文字幕在线观看| 欧洲成人免费aa| 色综久久综合桃花网| 91九色蝌蚪国产| 亚洲香蕉成视频在线观看| 国产亚洲精品久久久久久777| 久久精品视频在线| 91欧美精品成人综合在线观看| 亚洲精品一区二区三区婷婷月| 久久久久久久国产| 国产精品亚洲综合天堂夜夜| 国产精品高清在线| 欧美巨大黑人极品精男| 色婷婷综合久久久久中文字幕1| 久久久亚洲天堂| 欧美夫妻性视频| 成人免费高清完整版在线观看| 蜜臀久久99精品久久久无需会员| 成人激情综合网| 26uuu另类亚洲欧美日本老年| 伊是香蕉大人久久| 韩剧1988免费观看全集| 亚洲视频综合网| 日韩女优人人人人射在线视频| 久久久久久久久综合| 亚洲精品视频在线观看视频| 久久久国产视频| 2018国产精品视频| 俺也去精品视频在线观看|