5.2react路由两种模式

本文探讨了两种常见的URL模式:哈希路由,利用#符号进行组件选择,兼容性强;浏览器历史记录路由,利用HTML5 History API实现无刷新导航,通过pushState和replaceState操作历史栈。
摘要由CSDN通过智能技术生成

1.两种模式

url地址组成

例:https://www.react.com:443/news/1-2-1.html?a=1&b=2#abcdefg

  1. 协议名(schema):https
  2. 主机名(host):www.react.com
    1. ip地址
    2. 预设值:localhost
    3. 域名
    4. 局域网中电脑名称
  3. 端口号(port):443
    1. 如果协议是http,端口号是80,则可以省略端口号
    2. 如果协议是https,端口号是443,则可以省略端口号
  4. 路径(path):/news/1-2-1.html
  5. 地址参数(search、query):?a=1&b=2
    1. 附带的数据
    2. 格式:属性名=属性值&属性名=属性值…
  6. 哈希(hash、锚点)
    1. 附带的数据

Hash Router 哈希路由

根据url地址中的哈希值来确定显示的组件

原因:hash的变化,不会导致页面刷新
这种模式的兼容性最好

Borswer History Router 浏览器历史记录路由

HTML5出现后,新增了History Api,从此以后,浏览器拥有了改变路径而不刷新页面的方式

History表示浏览器的历史记录,它使用栈的方式存储。
请添加图片描述

  1. history.length:获取栈中数据量
  2. history.pushState:向当前历史记录栈中加入一条新的记录
    1. 参数1:附加的数据,自定义的数据,可以是任何类型
    2. 参数2:页面标题,目前大部分浏览器不支持
    3. 参数3:新的地址
  3. history.replaceState:将当前指针指向的历史记录,替换为某个记录
    1. 参数1:附加的数据,自定义的数据,可以是任何类型
    2. 参数2:页面标题,目前大部分浏览器不支持
    3. 参数3:新的地址

根据页面的路径决定渲染哪个组件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值