发布网友 发布时间:2022-12-16 19:26
共1个回答
热心网友 时间:2024-11-17 20:33
HashRouter使用的是URL的hash部分(即window.location.hash),来保持页面的UI与URL的同步。
哈希历史记录不支持location.key或location.state。
basename: string
这个代表所有位置的基本url,格式正确的基本名称基本都有一个前导斜杠"/",但没有尾部斜杠。
getUserConfirmation: func
用于确认导航的功能,默认使用window.confirm。
hashType: string
用于window.location.hash的编码类型,取值范围为
默认为slash。
使用HTML5的history API(pushState, replaceState和popState),让页面的UI与URL同步。
之后是测试阶段
之后是跳转的操作:
之后看BrowseRouter和HashRouter的打印结果。
HashRouter
BrowseRouter
由于HashRouter没有使用html5中的history API,无法从历史记录中得到key和state的值,所以当刷新路由后state值会丢失导致页面显示异常。