首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
hashrouter专题
【React】react-router-dom中的HashRouter和BrowserRouter实现原理
1. 前言 在之前整理BOM的五个对象时,提到: location.hash发生改变后,会触发hashchange事件,且history栈中会增加一条记录,但页面不会重新加载——实现HashRouter的关键history.pushState(state, '', URL)执行后,history栈中会增加一条记录,但页面不会重新加载,回退(history.back()或hist
阅读更多...
React-38:BrowserRouter与HashRouter的区别
区别一:底层原理不同 BrowserRouter使用的是H5的history API,不兼容IE9及以下版本。HashRouter使用的是URL的哈希值。 区别二:URL表现形式不一样 BrowserRouter的路径中没有#HashRouter的路径中包含# 区别三:刷新后对路由state参数的影响 刷新后BrowserRouter没有任何影响,因为state保存在history对象中
阅读更多...
自定义插件vue-router简单实现hashRouter设计思路
步骤 1.挂载 vue.prototype.$router 2.声明两个组件 router-view this.$router.current=>component => h(component) router-link h('a',{attrs:{href:'#'+this.to}},this.$slots.default) 3.url的监听:window hashchange的改变
阅读更多...