11.使用react-router的项目即使切换了页面,URL发生了改变,但是页面也不会刷新,这是如何实现的?
这个有两种实现方式,1.hash模式,window.hash可以设置url,并增加一条历史记录,然后监听hashchange,发现hash变化后,可以做发送ajax请求之类的业务操作,就实现了单页路由效果。
2.HTML5的history模式,可以动态添加历史记录,原理类似!