React 中hashhistory 与 browserhistory 的区别

本文深入探讨了React中两种路由历史管理方式:hashHistory与browserHistory的区别。hashHistory通过URL哈希改变历史记录,无需服务器支持;而browserHistory利用HTML5 History API,需服务器配合。hashHistory适用于无网络请求的页面渲染,browserHistory则需处理服务器请求。
摘要由CSDN通过智能技术生成

在react中使用 hashHistory,浏览器上看到的 url 会是这样的: /#/home-page?_k=vyqwnx

在react中使用 browserHistory,浏览器上看到的 url 会是这样的:/user/home-page

 browserHistory 使用的是 HTML5 的 History API,浏览器提供相应的接口来修改浏览器的历史记录

 hashHistory 是通过改变地址后面的 hash 来改变浏览器的历史记录

但是browserHistory 需要 server 端支持, 使用hashHistory的时候, url 中 从 /#/ 到 /#/user/home-page浏览器并不会去发送一次 request,react-router 自己根据 url 去 render 相应的模块。

使用 browserHistory 的时候,浏览器从 / 到 /user/home-page会向 server 发送 request 

当页面没有网络请求时应该使用hashHistory实现页面渲染,使用browserHistory会导致页面不能够单页面渲染,只能通过链接跳转。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值