BrowserRouter与HashRouter的区别

1.底层原理不一样:
  • BrowserRouter使用的是H5的history API,不兼容IE9及以下版本。
  • HashRouter使用的是URL的哈希值
2.path表现形式不一样
  • BrowserRouter的路径中没有#,例如:localhost:3000/demo/test  
  • HashRouter的路径包含#,例如:localhost:3000/#demo/test
3.刷新后对路由state参数的影响
  • BrowserRouter没有任何影响,因为state保存在history对象中
  • HashRouter刷新后会导致路由state参数的丢失
4.备注:HashRouter可以解决一些路径错误相关的问题
posted @ 2022-05-03 20:14  终究还是避免不了遗憾  阅读(187)  评论(0)    收藏  举报