当前位置: 首页 > news >正文

【React篇】简述React-Router 的实现原理及工作方式

React Router 路由的基础实现原理分为两种,如果是切换 Hash 的方式,那么依靠浏览器 Hash 变化即可;如果是切换网址中的 Path,就要用到 HTML5 History API 中的 pushState、replaceState 等。在使用这个方式时,还需要在服务端完成 historyApiFallback 配置。

在 React Router 内部主要依靠 history 库完成,这是由 React Router 自己封装的库,为了实现跨平台运行的特性,内部提供两套基础 history,一套是直接使用浏览器的 History API,用于支持 react-router-dom;另一套是基于内存实现的版本,这是自己做的一个数组,用于支持 react-router-native。

React Router 的工作方式可以分为设计模式与关键模块两个部分。从设计模式的角度出发,在架构上通过 Monorepo 进行库的管理。Monorepo 具有团队间透明、迭代便利的优点。其次在整体的数据通信上使用了 Context API 完成上下文传递。

在关键模块上,主要分为三类组件:第一类是 Context 容器,比如 Router 与 MemoryRouter;第二类是消费者组件,用以匹配路由,主要有 Route、Redirect、Switch 等;第三类是与平台关联的功能组件,比如 Link、NavLink、DeepLinking 等。

http://www.lryc.cn/news/360551.html

相关文章:

  • Django里多app
  • Prime1 - 信息收集和分析能力的试炼
  • 3.location的写法
  • AndroidStudio设置允许APP获取定位权限
  • Spring Boot 统一数据返回格式
  • Android 项目Gradle文件讲解(Groovy和Kotlin)
  • python-最接近target的值
  • 转换张量形状:`nlc_to_nchw` 函数详解
  • 「架构」云上自动化运维及其应用
  • 分布式和集群的区别
  • 最新h5st(4.7.2)参数分析与纯算法还原(含算法源码)
  • Spark大数据 掌握RDD的创建
  • Chrome谷歌浏览器如何打开不安全页面的禁止权限?
  • 3D目标检测入门:探索OpenPCDet框架
  • JS异步编程
  • 多元联合分布建模 Copula python实例
  • 单号日入50+,全自动挂机赚钱
  • LabVIEW老程序功能升级:重写还是改进?
  • chrome谷歌浏览器开启Gemini Nano模型
  • C语言王国——内存函数
  • 【计算机组成原理】1.1计算机的软硬件组成(记录学习计算机组成原理)
  • Qt xml学习之calculator-qml
  • 低代码开发系统是什么?它有那些部分组成?
  • 2024年西安交通大学程序设计竞赛校赛
  • 【学习Day5】操作系统
  • 学习小记录——python函数的定义和调用
  • RHEL7.9修改分区
  • 【Linux】命名管道
  • IMX6Q基于linux4.1.15调试音频芯片tas2505
  • 卷积常用网络