• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
    問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
    當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

    React-router4路由監(jiān)聽的實現(xiàn)

    來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:10:31
    文檔

    React-router4路由監(jiān)聽的實現(xiàn)

    React-router4路由監(jiān)聽的實現(xiàn):React-router 4 React Router4是一個純React重寫的包,現(xiàn)在的版本中已不需要路由配置,一切皆組件。 問題出發(fā)點 最近在一個新的H5項目中使用了react router 4 (react-router-dom: ^4.2.2),項目中的一部分頁面是需要給app客戶端的同學(xué)
    推薦度:
    導(dǎo)讀React-router4路由監(jiān)聽的實現(xiàn):React-router 4 React Router4是一個純React重寫的包,現(xiàn)在的版本中已不需要路由配置,一切皆組件。 問題出發(fā)點 最近在一個新的H5項目中使用了react router 4 (react-router-dom: ^4.2.2),項目中的一部分頁面是需要給app客戶端的同學(xué)

    React-router 4

    React Router4是一個純React重寫的包,現(xiàn)在的版本中已不需要路由配置,一切皆組件。

    問題出發(fā)點

    最近在一個新的H5項目中使用了react router 4 ("react-router-dom": "^4.2.2"),項目中的一部分頁面是需要給app客戶端的同學(xué)使用,這樣H5項目中的title就不能一成不變,需要顯示對應(yīng)頁面的title,所以,我們就需要去監(jiān)聽路由變動來更改title。

    思路

    在react中,例如:在父路由中有兩個子路由,兩個子路由組件的內(nèi)容都屬于父路由中的一部分,通過切換子路由來顯示不同內(nèi)容,這種情況下,父組件中的生命周期函數(shù)componentWillUpdate都會在切換子路由時被觸發(fā)。按照這個思路結(jié)合react-router 4一切皆組件的特性,我們可以用一個IndexPage組件來放置所有的一級路由(其他多級路由就可以放到對應(yīng)一級路由組件中),當(dāng)我們切換路由是,就可以在這個IndexPage組件中實時監(jiān)聽路由的變動了。

    項目目錄結(jié)構(gòu)

    src/app.js

    ...
    export default class App extends Component {
     render() {
     return (
     <Router>
     <Route path="/" component={IndexPage}/>
     </Router>
     )
     }
    }
    

    src/pages/index.js

    ...
    export default class IndexPage extends Component {
     componentDidMount() {
     this.updateTitle(this.props);
     }
    
     componentWillUpdate(nextProps) {
     this.updateTitle(nextProps);
     }
    
     updateTitle = (props) => {
     routes.forEach(route => {
     if (route.path === props.location.pathname) {
     document.title = route.title;
     }
     })
     }
     render() {
     return (
     <div className="index-page">
     <Switch>
     ...
     項目一級路由
     ...
     </Switch>
     </div>
     )
     }
    }
    
    

    在這個組件中,當(dāng)路由變動,我們都能實時監(jiān)聽,獲取路由來改變title

    總結(jié)

    利用react-router 4一切皆組件的特性和生命周期函數(shù)來監(jiān)聽路由變動

    聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    React-router4路由監(jiān)聽的實現(xiàn)

    React-router4路由監(jiān)聽的實現(xiàn):React-router 4 React Router4是一個純React重寫的包,現(xiàn)在的版本中已不需要路由配置,一切皆組件。 問題出發(fā)點 最近在一個新的H5項目中使用了react router 4 (react-router-dom: ^4.2.2),項目中的一部分頁面是需要給app客戶端的同學(xué)
    推薦度:
    標(biāo)簽: 路由 監(jiān)聽 路由的
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 国产一区麻豆剧传媒果冻精品| 国产精品美女免费视频观看| 91老司机深夜福利精品视频在线观看 | 香蕉久久夜色精品升级完成 | 久久久精品波多野结衣| 精品久久久久久无码中文字幕一区| 国产精品一区二区三区99| 色欲精品国产一区二区三区AV| 一本大道久久a久久精品综合| 麻豆精品视频在线观看| 国产成人精品视频播放| 亚洲精品无码Av人在线观看国产| 国产精品无码无卡无需播放器| 成人区人妻精品一区二区不卡网站 | 久久91精品国产91久久麻豆| 亚洲日韩精品一区二区三区| 国产精品毛片无码| 97久久久精品综合88久久| 免费看污污的网站欧美国产精品不卡在线观看 | 国产乱人伦偷精品视频不卡| 久久免费精品一区二区| 久久精品人人做人人爽电影蜜月 | 狠狠精品久久久无码中文字幕| 97精品人妻一区二区三区香蕉| 国产精品久久久久久搜索| 99久久精品影院老鸭窝| 国产成人精品免费视频动漫| 国产午夜精品视频| jiucao在线观看精品| 国产精品国产三级国产av品爱网 | 国产三级精品三级在线专区1 | 人妻少妇精品中文字幕AV| 亚洲人成精品久久久久| 在线精品亚洲一区二区小说| 午夜在线视频91精品| 亚洲福利精品电影在线观看| 亚洲国产精品视频| 亚洲韩国精品无码一区二区三区 | 99久久99久久精品国产片| 国产精品内射久久久久欢欢 | 国产91精品在线|