前端技能树,面试复习第 24 天—— React-Router 了解多少,说一说它的实现原理是什么
Posted 前端修罗场
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端技能树,面试复习第 24 天—— React-Router 了解多少,说一说它的实现原理是什么相关的知识,希望对你有一定的参考价值。
1. React-Router 的实现原理是什么?
客户端路由实现的思想:
- 基于 hash 的路由:通过监听
hashchange
事件,感知 hash 的变化- 改变 hash 可以直接通过
location.hash=xxx
- 改变 hash 可以直接通过
- 基于 **H5 history 路由: **
- 改变 url 可以通过 history.pushState 和 resplaceState 等,会将 URL 压入堆栈,同时能够应用
history.go()
等 API - 监听 url 的变化可以通过自定义事件触发实现
- 改变 url 可以通过 history.pushState 和 resplaceState 等,会将 URL 压入堆栈,同时能够应用
react-router 实现的思想:
- 基于
history
库来实现上述不同的客户端路由实现思想,并且能够保存历史记录等,磨平浏览器差异,上层无感知 - 通过维护的列表,在每次 URL 发生变化的回收,通过配置的 路由路径,匹配到对应的 Component,并且 render。
2. 如何配置 React-Router 实现路由切换<
以上是关于前端技能树,面试复习第 24 天—— React-Router 了解多少,说一说它的实现原理是什么的主要内容,如果未能解决你的问题,请参考以下文章
前端技能树,面试复习第 26 天—— React Hook 的实现原理 | useState | 生命周期
前端技能树,面试复习第 28 天—— React 综合问题解析 | 实现一个全局 Dialog | React 的设计理念 | SSR | JSX 的原理 | HOC 高阶组件
前端技能树,面试复习第 22 天—— React 的生命周期,前后发生了哪些变化,为什么有些生命周期废弃了
前端技能树,面试复习第 27 天—— React Diff 算法的原理,和 Vue 有什么区别 | 虚拟 DOM | key 的原理,为什么要用