react-router里的两种路由方式有什么不同

在React Router中,createBrowserRoutercreateHashRouter的主要区别在于路由模式的选择:

兼容性差异

  • ‌**createBrowserRouter**‌(基于HTML5 History API)不兼容IE9及以下版本,但支持现代主流浏览器。 ‌
  • ‌**createHashRouter**‌(基于URL哈希值)兼容性更好,可适配更多浏览器,包括低版本IE。 ‌

地址栏表现形式

  • ‌**createBrowserRouter**‌的URL路径中不含#(如localhost:3000/demo/test)。 ‌
  • ‌**createHashRouter**‌的URL路径包含#(如localhost:3000/#/demo/test)。 ‌

刷新页面影响

  • ‌**createBrowserRouter**‌刷新页面后,路由状态(如参数)不受影响,因状态保存在浏览器历史记录中。 ‌
  • ‌**createHashRouter**‌刷新页面会导致路由状态丢失,需重新加载数据。 ‌

使用场景建议

  • ‌**createBrowserRouter**‌适用于需要优雅URL且兼容性要求不高的场景(如公网项目)。
  • ‌**createHashRouter**‌适用于兼容性优先的场景(如内网项目或老旧浏览器环境)。 ‌
相关推荐
ObjectX前端实验室14 小时前
【react18原理探究实践】scheduler原理之Task 完整生命周期解析
前端·react.js
ObjectX前端实验室14 小时前
【react18原理探究实践】调度器(Scheduler)原理深度解析
前端·react.js
路漫漫心远14 小时前
音视频学习笔记十八——图像处理之OpenCV检测
前端
摸着石头过河的石头14 小时前
从零开始玩转前端:一站式掌握Web开发基础知识
前端·javascript
sniper_fandc14 小时前
关于Mybatis-Plus的insertOrUpdate()方法使用时的问题与解决—数值精度转化问题
java·前端·数据库·mybatisplus·主键id
10岁的博客15 小时前
技术博客SEO优化全攻略
前端
南屿im16 小时前
别再被引用坑了!JavaScript 深浅拷贝全攻略
前端·javascript
想要一辆洒水车16 小时前
vuex4源码分析学习
前端
sophie旭16 小时前
一道面试题,开始性能优化之旅(6)-- 异步任务和性能
前端·javascript·性能优化
年少不知有林皇错把梅罗当球王16 小时前
vue2、vue3中使用pb(Base64编码)
前端