IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 理解前端路由-Router -> 正文阅读

[JavaScript知识库]理解前端路由-Router

????在学习React和Vue中,必须要学会使用的,就是他们的路由,之前一直不懂路由的实现方式,于是专门进行了查询和学习,跟大家分享一下我对路由的一个初步理解。
????首先说一下路由,路由实际上就是一个导航的功能,他给每块内容设置了一个唯一地址(实际上不一定是地址),当我们访问这个地址的时候,路由就会帮我们找到对应的内容进行展示。
????在Vue和react中,路由分为两种,BrowserRouter和HashRouter,下面分别简单介绍下这两种路由。
第一种,BrowserRouter:
????在浏览器中,我们常用的一个功能就是前进和后退,如果我们想看下刚才看的那个网页,只需要点击下后退就可以了,这是为啥呢,这个就是因为浏览器帮助我们记住了我们的观看顺序,不难看出,帮我们记录顺序的,是一个 栈 的数据结构,他就是History,History 对象提供了操作浏览器会话历史的功能,如果我们访问了localhost:8080/login那他就会将/login进行保存。BrowserRouter正是利用了这种机制来进行路由实现的,他会对History栈进行监听,一旦栈内发生变动,他就会进行捕捉,判断当前需要显示哪个地址,而再去根据这个地址来显示对应的组件(组件与地址,实际上就是键值对,监听到键的变动,便会去找对应的值)。
但是这种方式存在弊端,因为每个浏览器他的History实现可能不同,所以这种方式他的兼容性不是很好。
第二种,HashRouter:
????HashRouter与BrowserRouter的实现效果是一样的,同样也是监听和键值对来实现路由,但是不同的是HashRouter监听的不是History栈,而是直接监听的地址,不同的地址生成不同的hash值,当hash值发生改变时去寻找对应的组件。
这种方式应为他不依赖与浏览器,所以兼容性极佳,也是大家常用的一种方式。
当然也有缺点,就是不是很美观,他就是我们常见的带有#的地址,如:localhost:8080/#/login
以上,如果有理解错误的地方,欢迎大佬指教。

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:19:49  更:2021-08-10 13:22:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 17:50:42-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码