| |
|
开发:
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中的路由 |
????????react推出了react-router的路由管理插件,实现了路由的核心功能,分别给web、reactnative、anywhere三个平台。 基于react-router实现的react-router-dom是给web端使用的路由,加入了在浏览器运行环境下的一些功能,核心基于history实现,分位hash路由和h5路由,其中h5路由兼容性有点差,需要后端支持,hash路由兼容行非常好,不需要后端支持。本博客介绍react路由基于react-router-dom@5.3.0,v6.0有所变化。? 一、路由组件和一般组件最大的区别
二、Link和NavLink区别????????NavLink是Link的升级版,自定义激活时的样式名,通过activeClassName="xxx"设置。 三、Switch
????????路由匹配从上到下依次进行,正常情况下一个路径对应一个组件,但是路径相同会匹配多个,例如上面的/home会同时显示Home和Detail组件,引入Switch组件可以使得Route出现多个情况下匹配到第一个之后,后面的就会在执行,查找更快。
四、exact:精准匹配????????路由默认是模糊匹配,定义的路由如下:
????????NavLink会自动匹配到About组件,添加exact会开启严格匹配,路径必须一致。
????????使用规则:发现异常在使用,不能随便开启严格匹配模式,有时候随意开启导致二级路由无法匹配。 五、Redirect
????????Redirect一般放在最后,表示重定向,如果上面都没有匹配到,就走到这,比如输入:
????????就会走到:
????????一般使用在打开首页跳到默认选中的路由页面。 六、二级路由
七、参数传递1、传递params参数1). 定义向路由组件传递数
2). 声明接收参数
3). 参数接收
2、传递search参数1). 定义向路由组件传递数
2). 无需声明接收参数
3). 参数接收
获取到的search是url编码的字符串,需要借助于query-string解析。 3、传递state参数-隐藏地址栏参数1). 定义向路由组件传递数
2). 无需声明接收参数
3). 参数接收
????????这种方式传递参数访问地址栏没有参数,只有http://localhost:3000/#/about/hot/detail,参数存储在history,刷新可以保留参数,清空缓存之后,会引发异常,需要做非空判【 || {}】。 八、push和replace模式????????路由跳转默认开始前的是push,可以使用replace开启替换模式,开启后不会留下痕迹:
????????页面1——>热门001跳转到——>热门002,回退页面,直接显示页面1 九、命令方式触发路由跳转????????Link或者NavLink方式来实现路由需要点击才能跳转,在某些情况下不需要点击也需要跳转,例如倒计时几秒调转到某页面,这时候Link就管用了,需要使用history方式:
????????这样不通过Link的方式就路由到新的页面了。这里是依params参数方举例,search方式也类似,需要注意的是state方式参数需要写在第二个参数上:
十、命令方式触后退,前进
十一、withRouter????????可以加工一般组件,让一般组件具有路由组件的API ,withRouter返回一个新的组件:
十二、BrowserRouter和HashRouter区别 |
|
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 0:54:38- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |