| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> React 页面路由 -> 正文阅读 |
|
[JavaScript知识库]React 页面路由 |
目录 一、页面路由1、什么是页面路由路由就是一种映射关系,前端路由就是根据不同的url去切换不同的组件,简单理解就是可以从一个页面跳转到另一个页面,前端路由就是通过一套url路径 与 组件的对应关系,后端路由就是根据用户不同的请求去返回不同的内容。 2、页面路由的两种方式
二、路由的基本使用1、安装 react-router-dom 模块
2、实现路由模式的组件实现路由模式的组件:(最外层):决定路由模式
【注意】:其实就是路由的hash和history两种模式,并且这两个组件是路由的容器,必须在最外层 3、Route 组件Route组件:实现路径和显示组件之间的映射
? ? ? ? 若用render渲染dom,就不需要component 4、Router 组件? 低级路由,适用于任何路由组件,主要和redux深度集成,使用必须配合history对象,使用Router路由的目的是和状态管理库如redux中的history同步对接
5、Link和NavLink组件类似于<a>标签
?? ??? ? ? ?<Link to="" />
?(1)Link的api
??
6、Redirect:页面重定向// 基本的重定向
// 对象形式
// 采用push生成新的记录
// 配合Switch组件使用,form表示重定向之前的路径,如果匹配则重定向,不匹配则不重定向
7、Switch路由切换,只会匹配第一个路由,可以想象成tab栏
8、withRouter当一个非路由组件也想访问到当前路由的match,location,history对象,那么withRouter将是一个非常好的选择,可以理解为将一个组件包裹成路由组件
9、Router Hooks????? 在Router5.x中新增加了Router Hooks用于在函数组件中获取路由信息。使用规则和React的其他Hooks一致。 (1)useHistory:返回history对象 (2)useLocation:返回location对象 (3)useRouteMatch:返回match对象 (4)useParams:返回match对象中的params,也就是path传递的参数??
10、404视图既然路由就需要考虑一个问题---404视图。当用户访问一些不存在的URL时就该返回404视图了,但不存在的地址该如何匹配呢?----使用Switch Switch组件的作用类似于JS中的switch语句,当一项匹配成功之后,就不再匹配后续内容。这样的话就可以把要匹配的内容写在Switch组件中,最后一项写404视图,当其他都匹配不成功时就是404视图。例如:
? |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 9:53:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |