• <fieldset id="8imwq"><menu id="8imwq"></menu></fieldset>
  • <bdo id="8imwq"><input id="8imwq"></input></bdo>
    最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題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關鍵字專題關鍵字專題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
    當前位置: 首頁 - 科技 - 知識百科 - 正文

    React-router4路由監聽的實現

    來源:懂視網 責編:小采 時間:2020-11-27 22:10:31
    文檔

    React-router4路由監聽的實現

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

    React-router 4

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

    問題出發點

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

    思路

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

    項目目錄結構

    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>
     )
     }
    }
    
    

    在這個組件中,當路由變動,我們都能實時監聽,獲取路由來改變title

    總結

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

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

    文檔

    React-router4路由監聽的實現

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

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 亚洲一区精品无码| 亚洲精品无码不卡| 国产AV国片精品有毛| 国内精品久久久久久久久| 国产精品美脚玉足脚交欧美| 午夜福利麻豆国产精品| 国产原创精品视频| 亚洲AV无码久久精品蜜桃| 99热这里只有精品6国产免费| 国产一精品一AV一免费| 欧美日韩国产成人高清视频,欧美日韩在线精品一 | 国产精品视频一区二区三区经 | 亚洲精品无码久久不卡| 国产精品美女久久久久av爽| 国产人成精品午夜在线观看| 久久水蜜桃亚洲av无码精品麻豆| 亚洲国产欧美日韩精品一区二区三区| 精品国产高清在线拍| 国产高清在线精品一本大道国产| 久久伊人精品青青草原高清| 2021久久国自产拍精品| 国产精品无码久久久久久| 久久精品夜夜夜夜夜久久| 在线精品亚洲一区二区三区| 久久这里有精品视频| 国产亚洲精品不卡在线| 国产精品婷婷午夜在线观看| 亚洲国产精品国自产电影| 精品久久久久久久| 在线中文字幕精品第5页| 国产福利电影一区二区三区久久久久成人精品综合 | 国产精品第1页| 99久久婷婷免费国产综合精品| 国产精品无码无需播放器| 久久99国产精品尤物| 久久棈精品久久久久久噜噜| 久久久久久亚洲精品成人| 精品少妇无码AV无码专区| 国产精品天天看天天狠| 精品午夜福利在线观看| 国产精品无码一区二区三级|