React 中hashhistory 与 browserhistory 的区别

在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会导致页面不能够单页面渲染,只能通过链接跳转。

你可能感兴趣的:(React)