1 底层原理不一样:
1 browserRouter使用的是H5的history API,不兼容IE9以下的版本。(H5新增的)
2 HashRouter使用的是URL的哈希值。(锚点,会发送历史记录)
2 url表现形式不宜用:
1 BrowserRouter 的路径中没有#,localhost:3000/demo/test
2 HashRouter 路径包含参数#,localhost:3000/demo/test
3 刷新后对路由state参数的影响:
1 browserRouter没有任何影响,因为state保存在history对象中
2 hashRouter刷新后会导致路由state参数的丢失。
4 hashRouter可以用于解决路径错误相关的问题。
BrowserRouter使用的会多很多!!!