qiaofugui
qiaofugui
发布于 2024-05-21 / 0 阅读
0
0

React-路由 BrowserRouter 与 HasRouter 的区别


底层原理不一样

  • BrowserRouter 使用的是 H5 的 history API,不兼容 IE9 及以下版本
  • HasRouter 使用的是 URL 的哈希值

url 表现形式不一样

  • BrowserRouter 的路径中没有 #,例如:localhost:3000/dome/test
  • HasRouter 的路径中包含 #,例如:localhost:3000/#/dome/test

刷新后对路由的 state 参数的影响

  • BrowserRouter 没有任何影响,因为 state 保存在 history 对象中
  • HasRouter 刷新后会导致路由 state 参数的丢失

HasRouter 可以用于解决一些路径错误相关的问题


评论