browserHistory
中的 History
也就是历史,做啥的呢?
这得要知道HTML5中的History API 接口这一部分。
HTML5 history API 包括2个方法、1个事件:
history.pushState()
该函数执行后有3个变化:
1.网站的地址变为参数中url地址
2.将新生成一条历史记录,可用浏览器的“后退”和“前进”来导航
3.该函数将返回一个数字,我猜测应该网页驻留时间值,目前还未找到可信赖的依据。
history.pushState
接口是可以自由操作浏览器 URL 的,这个也就是 react-router 可以工作的底层机制保障。
browserHistory 就是 React Router 对 History API 进行的封装。更多说明可以参考官方文档 Histories。
history.replaceState()
这个就是字面意思啦,作用就是替换掉当前记录,用法和pushState()基本相同,但不会生成新的历史纪录。
window.onpopstate
这是在页面发生前进或后退时触发的事件,而调用上面两个函数是不是触发该事件的。 具体技术参考该文档,window.onpopstate
关于HTML5中的history的api,了解更多。