最后更新:2022-02-11 04:03:21 手机定位技术交流文章
在 SPA 中,页面跳转,实际上只是在切换组件。切换组件时,我们需要通过路由来管理浏览器 URL 与组件之间的映射关系。
版本 React Router 最新的版本是 v6,以v5 的版本为例。
路由分类
React 中的路由也可以分为 hash 模式和 history 模式两种,分别对应的组件是 和 。
基础配置
因为任何一个 React 项目,默认渲染的组件都是 App.js,所以,我们的一级路由,就在 App.js 进行配置。
通过懒加载的方式引入组件:
注:import 必须在所有代码之前,通过懒加载引入的组件必须卸载 import 引入的组件之后。
React 中的路由跳转分为了两种方式:
组件跳转
事件跳转
应用中的组件,不是通过路由加载进来并渲染的,这一类组件,我们称之为“非路由组件”。这一类组件的 props
身上,就无法接收到路由相关的属性和方法。高阶组件 withRouter 我们可以将一个非路由组件,传递给 withRouter,在 withRouter
内部,会对非路由组件的功能进行加强处理,然后返回一个升级版的组件,处理后的组件身上就可以重新获取到路由相关的属性和方法。
React 中二级路由的配置和一级路由的配置基本上一致。
React 中的路由配置,不像 Vue 全都同一写在一个配置文件中。
React 中的路由配置,是根据组件渲染的位置来决定的,我们希望这个路由组件渲染在什么位置,我们就把这个路由配置写在什么位置。
例如我们想在首页中渲染计数器组件和待办事项组件:
二级路由跳转的方式也和一级路由一样,组件跳转或事件跳转都可以。唯一要注意的就是跳转的时候需要将一二级路径写完整:
1、传递数据
2、配置动态路由
3、组件接收参数
1、传递参数
2、接收参数
缺点:页面刷新后数据就不存在了。
优点:参数不会在浏览器的 URL 中显示出来。
1、传递参数
2、接收参数
1、传递参数
2、接收参数
本文由 在线网速测试 整理编辑,转载请注明出处。