在react中使用 hashHistory,浏览器上看到的 url 会是这样的: /#/home-page?_k=vyqwnx
在react中使用 browserHistory,浏览器上看到的 url 会是这样的:/user/home-page
browserHistory 使用的是 HTML5 的 History API,浏览器提供相应的接口来修改浏览器的历史记录
hashHistory 是通过改变地址后面的 hash 来改变浏览器的历史记录
但是browserHistory 需要 server 端支持, 使用hashHistory的时候, url 中 从 /#/
到 /#/user/home-page
浏览器并不会去发送一次 request,react-router 自己根据 url 去 render 相应的模块。
使用 browserHistory 的时候,浏览器从 /
到 /user/home-page
会向 server 发送 request
当页面没有网络请求时应该使用hashHistory实现页面渲染,使用browserHistory会导致页面不能够单页面渲染,只能通过链接跳转。