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

React学习day07-ReactRouter-抽象路由模块、路由导航、路由导航传参、嵌套路由、默认二级路由的设置、两种路由模式

14、ReactRouter续

(2)抽象路由模块

        1)新建page文件夹,存放组件

        

组件内容:

        2)新建router文件夹,在其下创建实例

        

        3)实例导入,使用

        4)效果

(3)路由导航

        1)作用:
实现路由系统中的多个路由之间需要进行路由跳转,并可能在跳转的同时进行传参的需求
        2)分类
①声明式导航(通过【<Link to=”跳转的路径” />】组件跳转)(传参可直接通过字符串拼接的方式传递)

效果:

②编程式导航

(4)路由导航传参

        1)searchParams传参
                ①传参

                ②获取参数(先解构,再使用)

        2)params传参(传递多个参数,采取同样的步骤)
                ①在router中,找到需要参数的路径,使用参数名进行占位

        ②传参

        ③获取参数(通过使用useParams得到需要的params,params.参数名获取)

(5)嵌套路由

        1)概念:
在一级路由中又嵌套了其他路由(比如:嵌套至一级路由内的路由称为二级路由)
        2)步骤
        ①准备一级路由和二级路由组件

        ②在router中配置路由路径

        ③使用

        ④效果

点击链接,进行切换

(6)默认二级路由

        1)作用:当访问一级路由时,默认的二级路由也可以得到渲染
        2)步骤:
        ①找到router下的路由路径配置,在二级路由的位置去掉path,设置index属性为true(可以在路径为/时,显示内容)

        ②在一级路由的组件中修改默认二级路由组件的路径(可以实现路径的正常切换)

        ③效果

(7)404路由配置(路径找不到时使用)

        1)准备404组件

        2)在router中配置路径(在路由数组的结尾,以*为path配置路由)

        3)效果

(8)两种路由模式

        1)history模式(ReactRouter由createBrowerRouter创建)
        ①底层原理:history对象+pushState事件
        ②路径显示:不带#
        ③不需要后端支持

        2)hash模式(ReactRouter由createHahRouter创建)
        ①底层原理:监听hashChange事件
        ②路径显示:带#
        ③需要后端支持

        3)切换(在router配置路由路径中将创建实例的函数导入、替换即可)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Java多线程面试精讲:源于技术书籍的深度解读
  • Python中 BeautifulSoup和Selenium 定位元素和获取元素值的方法
  • 基于Jeecgboot3.6.3的flowable流程增加任务节点字段的控制(一)
  • 代理导致的git错误
  • 【STM32 Blue Pill编程】-定时器PWM模式
  • 系统架构设计师:软件架构的演化和维护
  • Qt自动打开文件夹并高亮文件
  • Java中的正则表达式
  • Vue.js: 构建动态用户界面的现代框架
  • C# 使用Socket通信,新建WinForm服务端、客户端程序
  • 使用 Nmap 进行 SSL/TLS 加密套件枚举
  • Android 11(API 级别 30)及以上版本中,将Bitmap保存到设备上
  • FreeSWITCH event_socket 配置从其他地址连接
  • 使用CUBE_MX使用I2C通信,实现对EEPROM的读写
  • AI与自然语言处理(NLP):中秋诗词生成
  • .pyc 想到的一些问题
  • [译]Python中的类属性与实例属性的区别
  • 【Amaple教程】5. 插件
  • C# 免费离线人脸识别 2.0 Demo
  • Cookie 在前端中的实践
  • django开发-定时任务的使用
  • gitlab-ci配置详解(一)
  • HomeBrew常规使用教程
  • JAVA_NIO系列——Channel和Buffer详解
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • JavaScript类型识别
  • JavaScript学习总结——原型
  • js继承的实现方法
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • nfs客户端进程变D,延伸linux的lock
  • overflow: hidden IE7无效
  • Phpstorm怎样批量删除空行?
  • spring + angular 实现导出excel
  • - 概述 - 《设计模式(极简c++版)》
  • 排序算法学习笔记
  • 前端路由实现-history
  • 浅谈Golang中select的用法
  • 入口文件开始,分析Vue源码实现
  • 思考 CSS 架构
  • 微信小程序实战练习(仿五洲到家微信版)
  • 云栖大讲堂Java基础入门(三)- 阿里巴巴Java开发手册介绍
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • FaaS 的简单实践
  • k8s使用glusterfs实现动态持久化存储
  • ‌分布式计算技术与复杂算法优化:‌现代数据处理的基石
  • # 消息中间件 RocketMQ 高级功能和源码分析(七)
  • #HarmonyOS:基础语法
  • (145)光线追踪距离场柔和阴影
  • (52)只出现一次的数字III
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (六)Flink 窗口计算
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (三)Kafka 监控之 Streams 监控(Streams Monitoring)和其他