底层原理不一样:
BrowserRouter使用的是H5的history API,不兼容IE9及以下版本。
HashRouter使用的是URL的哈希值。
url表现形式不一样:
BrowserRouter路径中没有#,例如http://localhost:3000/home/detail
HashRouter路径中有#,例如http://localhost:3000/#/home/detail
3.刷新后对路由state参数的影响
(1).BrowserRouter没有任何影响,因为state保存在history对象中。
(2).HashRouter刷新后会导致路由state参数的丢失。
4.备注:HashRouter用于解决一些路径错误相关的问题。