shawlp / interview-codes

1 stars 0 forks source link

react-router的原理 #15

Open shawlp opened 3 years ago

shawlp commented 3 years ago

hash路由:监听url中hash的变化,然后渲染不同的内容,这种路由不向服务器发送请求,不需要服务端的支持。当页面中的hash发生变化时,会触发hashchange事件

history路由:监听url中的路径变化,需要客户端和服务端共同的支持。在history路由中,使用的是window.history中的方法,常见的操作有back,forward,go,pushState,replaceState(仅修改页面的URL,而不发送请求),前3个会触发popstate事件,但后两个不会,需要通过window.dispatchEvent添加事件