当前位置: 首页 > 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配置路由路径中将创建实例的函数导入、替换即可)

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

相关文章:

  • Unity项目的脚本继承关系
  • 【自动驾驶】决策规划算法(一)决策规划仿真平台搭建 | Matlab + Prescan + Carsim 联合仿真基本操作
  • grep 命令:文本搜索
  • python画图|中秋到了,尝试画个月亮(球体画法)
  • 【网络安全的神秘世界】攻防环境搭建及漏洞原理学习
  • pythonnet python图像 C# .NET图像 互转
  • spring security OAuth2 搭建资源服务器以及授权服务器/jdbc/jwt两种方案
  • 计算机视觉—3d点云数据基础
  • Matlab simulink建模与仿真 第十八章(Stateflow状态机)
  • Linux系统终端中文件权限的10位字符是什么意思
  • Qt QSerialPort串口编程
  • 扫雷游戏及其中的知识点
  • 【乐企-业务篇】开票前置校验服务-规则链服务接口实现(发票基础信息校验)
  • 【搜索算法】以扩召回为目标,item-tag不如query-tag能扩更多数量
  • SpringBoot入门(黑马)
  • Stream流操作
  • 【Linux】查看操作系统开机时初始化的驱动模块列表的一个方法
  • 快速入门Vue
  • ubuntu系统服务器离线安装python包
  • re题(30)BUUCTF-[HDCTF2019]Maze
  • day36+day37 0-1背包
  • PostMan使用变量
  • 多线程同步
  • 第159天:安全开发-Python-协议库爆破FTPSSHRedisSMTPMYSQL等
  • 软件测试 | APP测试 —— Appium 的环境搭建及工具安装教程
  • 计算机人工智能前沿进展-大语言模型方向-2024-09-13
  • 衡石分析平台使用手册-替换衡石minio
  • 怎么将几个pdf合成为一个?把几个PDF合并成为一个的8种方法
  • 明明没有程序占用端口,但是启动程序却提示端口无法使用,项目也启动失败
  • ClickHouse的安装配置+DBeaver远程连接