路由 研究与理解

在react 实践中,有用到路由,路由用起来 很简单,效果也明显,但是并没有去想 路由 究竟是什么东西。
于是就开始了研究的道路,

首先路由有2种,hash路由和history路由

1.hashRouter
锚点 浏览器 中url 后面#xxx 部分,该部分 在http请求时会被忽略,用于跳转到页面 对应锚点的位置的。就是window.location.hash,可以通过该变量修改当前锚点
will切换路由,处理:什么也不做,浏览器默认行为,
点击浏览器地址就会发生变化,此时只要监听 hash变更 就可以处理 路由变化的事件了
即 hashChange

2.historyRouter
history 就是浏览器的访问记录 这篇阮一峰的讲解 十分到位 History对象
概括下:
借用下react生命周期用到的概念,will和do
will切换路由,处理:pushState
did切换路由,处理:onpopstate

在研究完这2个路由之后,看了下网上的评论二者没有什么 主要的区别,这块后面随着深入使用,对其二者使用区别理解应该更丰富
目前网友们的评论 和 自己的理解 就是:
1.history路由更美观
2.如果页面中有锚点的 设计,则应该使用history路由
3.采用history路由,由于会变更浏览器url,并且是会进行请求的url,需要做内部请求转换特殊处理。hash路由则不用,因为浏览器请求时会忽略后面hash部分 即#xxx

你可能感兴趣的:(路由,react.js,vue.js)