shfshanyue / Daily-Question

互联网大厂内推及大厂面经整理,并且每天一道面试题推送。每天五分钟,半年大厂中
https://q.shanyue.tech
4.95k stars 510 forks source link

【Q455】React/Vue 中的 router 实现原理如何 #463

Open shfshanyue opened 3 years ago

buzuosheng commented 3 years ago

前端路由实现的本质是监听url变化,实现方式有两种:Hash模式和History模式,无需刷新页面就能重新加载相应的页面。 Hash url的格式为www.a.com/#/,当#后的哈希值发生变化时,通过hashchange事件监听,然后页面跳转。 History url通过history.pushStatehistory.replaceState改变url。 两种模式的区别:

shfshanyue commented 3 years ago

前端路由有两种实现方式:

history API

hash

zyzweb commented 2 years ago

@buzuosheng hash的历史记录也会显示hash值,也会放到历史记录, chrome 102