BrowserRouter和HashRouter的区别?
区别
BrowserRouter
BrowserRouter
使用HTML5 history API
, 保证UI界面
和URL
保存同步 采用这种方式需要后端或者Nginx
配置通配路由, 比如在某个路径下重定向到模板首页 否则路由刷新页面时会404传值方式: url传值, 路由参数传值, 以及state
不支持历史记录功能
HashRouter
HashRouter
使用URL
(即window.location.hash
) 的哈希部分来保持UI与URL同步的。哈希历史记录不支持location.key
和location.state
用来支持旧版浏览器, 官方不建议使用传值方式: url传值, 路由参数传值