1. 程式人生 > >react-router實現原理

react-router實現原理

react-router實現原理

  • 獲取html文件#後面的部分:
    window.location.hash
  • 添加onhashchange事件,監聽路由變化:
    window.onhashchange = function(){
    }
  • 完整代碼:
    <a href="#/home">home</a>
    <a href="#/index">index</a>
    <a href="#/other">other</a>
    <div id="box"></div>
    <script>
    window.onhashchange = function(){
        var hash = window.location.hash.slice(1)
        var box = document.getElementById(‘box‘)
        if(hash==‘/home‘){
            box.innerHTML = "home"
        }else if(hash==‘/index‘){
            box.innerHTML = "index"
        }else{
            box.innerHTML = "default"
        }
    }
    </script>
  • 效果:
    技術分享圖片
    技術分享圖片
    技術分享圖片
    技術分享圖片
  • react-router實現原理