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

第三十一章 React中路由组件和一般组件

React中,组件是应用程序的构建块。它们是可重用的,可以用于创建复杂的UIReact中有两种类型的组件:路由组件和一般组件

一般组件

一般组件是React应用程序的基本构建块。它们是可重用的,可以用于创建复杂的UI。它们不知道URL,也没有任何路由逻辑。它们只是根据传递给它们的propsstate来呈现UI

类似于下面的Header组件:

import React, { Component } from 'react'export default class Header extends Component {render() {console.log('这是Header组件的Props',this.props)return (<div className="col-xs-offset-2 col-xs-8"><div className="page-header"><h2>React Router Demo</h2></div></div>)}
}

他们在可以接收父组件传递给他们的自定义的标签属性props


路由组件

路由组件是知道URL并具有路由逻辑的组件。它们负责根据当前URL呈现适当的UI。它们通常用于创建导航菜单、链接和其他依赖于当前URLUI元素。

以下就是路由组件:

import { Link, Route } from 'react-router-dom'
//-------------------------------------------<Link className="list-group-item" to="/home">Home</Link><Link className="list-group-item" to="/about">About</Link>
//-------------------------------------------
<Route path="/home" component={Home} />
<Route path="/about" component={About} />

在此示例中,使用了react-router-dom库中的Link组件来创建指向应用程序中不同页面的链接。当单击链接时,路由组件将根据当前URL呈现适当的UI


路由组件与一般组件的区别

  • 1、写法不同

一般组件<Demo/>

路由组件<Route path="/demo" component={Demo}/>

  • 2、存放位置不同

一般组件:一般放在**components目录**下面

路由组件:一般放在**pages目录**下面

  • 3、接收到的Props不同

一般组件:写组件标签时传递了什么,就能收到什么

路由组件:主要接收固定的三个属性(historylocationmatch

history:go: ƒ go(n)goBack: ƒ goBack()goForward: ƒ goForward()push: ƒ push(path, state)replace: ƒ replace(path, state)location:pathname:/about”search: “”state: undefinedmatch:params: {}path:/about”url:/about”

常用的路由组件有哪些

  • BrowserRouter:这个组件用于包装整个应用程序,并为应用程序提供路由功能。

  • Route:这个组件用于定义应用程序中的路由。它有两个属性:pathcomponentpath 属性用于定义路由的 URL 路径,component 属性用于指定匹配路由时应该渲染的组件。

  • Switch:这个组件用于包装一组 Route 组件,并确保只有一个 Route 组件被渲染。当您有多个路由匹配相同的 URL 路径时,这非常有用。

  • Link:这个组件用于在应用程序的不同路由之间创建链接。它有一个 to 属性,用于指定链接的 URL 路径。

  • NavLink: 一个特殊版本的 Link,当它与当前 URL 匹配时,为其渲染元素添加样式属性。


详情参考:

印记中文-React Router

React路由详解

相关文章:

第三十一章 React中路由组件和一般组件

在React中&#xff0c;组件是应用程序的构建块。它们是可重用的&#xff0c;可以用于创建复杂的UI。React中有两种类型的组件&#xff1a;路由组件和一般组件。 一般组件 一般组件是React应用程序的基本构建块。它们是可重用的&#xff0c;可以用于创建复杂的UI。它们不知道U…...

怎么把pdf中的某一页分出来?

怎么把pdf中的某一页分出来&#xff1f;PDF格式的文档在日常生活中是非常常见的&#xff0c;相信大家都对其有所了解&#xff0c;并且经常使用。它的主要特点是不允许用户随意编辑其中的内容&#xff0c;当我们仅需要阅读时&#xff0c;PDF文档无疑是十分方便的&#xff0c;尤其…...

MongoDB 聚合操作Map-Reduce

这此之前已经对MongoDB中的一些聚合操作进行了详细的介绍&#xff0c;主要介绍了聚合方法和聚合管道&#xff1b;如果您想对聚合方法和聚合管道进行了解&#xff0c;可以参考&#xff1a; MongoDB 数据库操作汇总https://blog.csdn.net/m1729339749/article/details/130086022…...

shiro CVE-2016-4437 漏洞复现

shiro Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理。使用Shiro的易于理解的API,您可以快速、轻松地获得任何应用程序,从最小的移动应用程序到最大的网络和企业应用程序漏洞原理 在Apache shiro的框架中&#xff0c;执行身份验证时提供了…...

Seqkit-2.2.0 移植指南(openEuler 20.03 LTS SP3)

1.软件介绍 seqkit是一种跨平台的、极快的&#xff0c;全面的fasta/q处理工具。seqkit为所有的主流操作系统提供了一种可执行的双元文件&#xff0c;包括Windows&#xff0c;Linux&#xff0c;MacOS X&#xff0c;并且不依赖于任何的配置或预先配置就可以直接使用。 关于seqk…...

Java版本企业电子招投标采购系统源码——功能模块功能描述+数字化采购管理 采购招投标

功能模块&#xff1a; 待办消息&#xff0c;招标公告&#xff0c;中标公告&#xff0c;信息发布 描述&#xff1a; 全过程数字化采购管理&#xff0c;打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力&#xff0c;为外部供…...

二十三种设计模式第五篇--原型模式

原型模式&#xff08;Prototype Pattern&#xff09;是用于创建重复的对象&#xff0c;同时又能保证性能。这种类型的设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口&#xff0c;该接口用于创建当前对象的克隆。当直接创建…...

阿里云镜像区别公共镜像、自定义、共享、云市场和社区镜像介绍

阿里云服务器镜像根据来源不同分为公共镜像、自定义镜像、共享镜像、云市场镜像和社区镜像&#xff0c;一般没有特殊情况选择公共镜像&#xff0c;公共镜像是阿里云官网提供的正版授权操作系统&#xff0c;云市场镜像是在纯净版操作系统的基础上预装了相关软件及运行环境&#…...

非线性方程二分法

非线性方程二分法 优点&#xff1a;算法直观、简单、总能保证收敛&#xff1b;局限&#xff1a;收敛速度慢、一般不单独用它求根&#xff0c;仅为了获取根的粗略近似 文章目录 非线性方程二分法[toc]1 二分法基本思想2 二分法实现 1 二分法基本思想 设 f ( x ) f(x) f(x)在 [ …...

H3C防火墙单机旁路部署(网关在防火墙)

防火墙旁路部署在核心交换机上&#xff0c;内网有三个网段vlan 10&#xff1a;172.16.10.1/24、vlan 20&#xff1a;172.16.20.1/24、vlan30&#xff1a;172.16.30.1。要求内网网关在防火墙设备上&#xff0c;由防火墙作为DHCP服务器给终端下发地址&#xff0c;同时由防火墙来控…...

基于密度的无线传感器网络聚类算法的博弈分析(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 提高能源效率是无线传感器网络面临的关键挑战之一&#xff0c;无线传感器网络日益普遍。由于节点&#xff08;传感器&#xff…...

宕机了?!DolphinScheduler 高可用和 Failover 机制关键时刻保命

高可用性是 Apache DolphinScheduler 的特性之一。它通过冗余来避免单点问题&#xff0c;所有组件天然支持横向扩容&#xff1b;但仅仅保证了冗余还不够&#xff0c;当系统中有节点宕机时&#xff0c;还需要有故障转移机制能够自动将宕机节点正在处理的工作转移到新节点上执行&…...

try(){}用法try-with-resources、try-catch-finally

属于Java7的新特性。 经常会用try-catch来捕获有可能抛出异常的代码。如果其中还涉及到资源的使用的话&#xff0c;最后在finally块中显示的释放掉有可能被占用的资源。 但是如果资源类已经实现了AutoCloseable这个接口的话&#xff0c;可以在try()括号中可以写操作资源的语句(…...

常见Http错误码学习

​ 常见 http 错误码 服务器巡检时比较常见的 http 错误码 400 Bad Request408 Request Timeout499 client has closed connection502 Bad Gateway504 Gateway Timeout 这些错误码反映了服务器什么样的状态&#xff0c;仅看字面意思还不太容易理解&#xff0c;就动手做个试验…...

qemu-基础篇——ARM 链接过程分析(六)

文章目录 ARM 链接过程分析源文件global_bss_file.cglobal_data_fle.cglobal_function_file.cglobal_rodata_file.cmain.c 链接文件 link.lds编译命令及反汇编命令解析 .o 文件global_bss_file.oglobal_data_fle.oglobal_function_file.oglobal_rodata_file.omain.o 链接观察链…...

Java企业工程项目管理系统+spring cloud 系统管理+java 系统设置+二次开发

工程项目各模块及其功能点清单 一、系统管理 1、数据字典&#xff1a;实现对数据字典标签的增删改查操作 2、编码管理&#xff1a;实现对系统编码的增删改查操作 3、用户管理&#xff1a;管理和查看用户角色 4、菜单管理&#xff1a;实现对系统菜单的增删改查操…...

Eureka与Zookeeper的区别

著名的CAP 理论指出&#xff0c;一个分布式系统不可能同时满足 C( 一致性 ) 、 A( 可用性 ) 和 P( 分区容错性 ) 。 由于分区容错性在是分布式系统中必须要保证的&#xff0c;因此我们只能在 A 和 C 之间进行权衡&#xff0c;在此 Zookeeper 保证的是 CP, 而 Eureka 则是 AP…...

顺序表和链表的各种代码实现

一、线性表 在日常生活中&#xff0c;线性表的例子比比皆是。例如&#xff0c;26个英文字母的字母表&#xff08;A,B,C,……&#xff0c;Z&#xff09;是一个线性表&#xff0c;表中的数据元素式单个字母。在稍复杂的线性表中&#xff0c;一个数据元素可以包含若干个数据项。例…...

C# 介绍三种不同组件创建PDF文档的方式

1 c# 数据保存为PDF&#xff08;一&#xff09; &#xff08;spire pdf篇&#xff09; 2 c# 数据保存为PDF&#xff08;二&#xff09; &#xff08;Aspose pdf篇&#xff09; 3 c# 数据保存为PDF&#xff08;三&#xff09; &#xff08;PdfSharp篇&#xff09; 组件名称 绘制…...

极简面试题 --- Redis

什么是 Redis&#xff1f; Redis 是一个基于内存的键值存储系统&#xff0c;也被称为数据结构服务器。它支持多种数据结构&#xff0c;例如字符串、哈希表、列表、集合和有序集合&#xff0c;并且可以在内存中快速读写。 Redis 的优势有哪些&#xff1f; 快速&#xff1a;由…...

Pikachu靶场实战:File Inclusion漏洞从入门到精通(附防御代码)

Pikachu靶场实战&#xff1a;File Inclusion漏洞攻防全解析 在网络安全领域&#xff0c;文件包含漏洞&#xff08;File Inclusion&#xff09;一直是Web应用渗透测试中的高频发现项。这种看似简单的漏洞类型&#xff0c;却能导致服务器敏感信息泄露甚至完全沦陷。Pikachu靶场作…...

终极指南:如何用 PHP Steam API 包轻松集成 Steam 游戏数据

终极指南&#xff1a;如何用 PHP Steam API 包轻松集成 Steam 游戏数据 【免费下载链接】Steam A composer package to make use of the steam web api. 项目地址: https://gitcode.com/gh_mirrors/stea/Steam 想要在你的 PHP 或 Laravel 应用中集成 Steam 游戏数据吗&a…...

DeepSeek-OCR-2应用实战:快速提取发票信息,财务效率翻倍

DeepSeek-OCR-2应用实战&#xff1a;快速提取发票信息&#xff0c;财务效率翻倍 1. 财务人的痛点&#xff1a;发票处理的效率黑洞 每个月末&#xff0c;财务部门总要面对这样的场景&#xff1a; 堆积如山的纸质发票需要手工录入电子发票PDF需要逐个打开复制粘贴关键信息&…...

MPU6050数据老飘?手把手教你用ESP32进行传感器校准与DMP库调优(附源码)

MPU6050数据漂移难题的终极解决方案&#xff1a;ESP32校准与DMP实战指南 当你的智能平衡车突然"抽风"&#xff0c;或是无人机姿态数据像喝醉一样飘忽不定&#xff0c;问题很可能出在MPU6050这个看似简单却暗藏玄机的6轴传感器上。作为物联网和智能硬件开发中最常用的…...

想了解欧拉好猫参数?这篇文章给你详细答案!

在当今新能源汽车市场蓬勃发展的背景下&#xff0c;欧拉好猫凭借其独特的魅力&#xff0c;在众多车型中脱颖而出&#xff0c;吸引了众多消费者的目光。以下将对欧拉好猫的相关参数及技术亮点进行详细解析。外观设计与尺寸欧拉好猫采用复古未来主义的设计风格&#xff0c;圆润的…...

手把手教你用HuggingFace+BGE模型搭建本地向量检索系统(附FAISS实战代码)

从零构建基于BGE模型的本地语义搜索系统&#xff1a;代码级实践指南 在信息爆炸的时代&#xff0c;如何快速从海量文本中精准找到相关内容&#xff1f;语义搜索技术正成为解决这一痛点的利器。不同于传统的关键词匹配&#xff0c;语义搜索能理解查询背后的意图&#xff0c;找到…...

Photon光影包:颠覆级Minecraft视觉体验的沉浸式渲染方案

Photon光影包&#xff1a;颠覆级Minecraft视觉体验的沉浸式渲染方案 【免费下载链接】photon A gameplay-focused shader pack for Minecraft 项目地址: https://gitcode.com/gh_mirrors/photon3/photon 在像素化的方块世界中&#xff0c;如何突破视觉边界实现电影级画面…...

快速搭建视觉定位服务:Chord(Qwen2.5-VL)一键部署与使用

快速搭建视觉定位服务&#xff1a;Chord&#xff08;Qwen2.5-VL&#xff09;一键部署与使用 1. 项目概述 Chord是基于Qwen2.5-VL多模态大模型的视觉定位服务&#xff0c;能够通过自然语言描述在图像中精确定位目标对象。想象一下&#xff0c;你只需要说"找到图里的白色花…...

3个技巧:如何用开源工具彻底解决Beyond Compare授权难题

3个技巧&#xff1a;如何用开源工具彻底解决Beyond Compare授权难题 【免费下载链接】BCompare_Keygen Keygen for BCompare 5 项目地址: https://gitcode.com/gh_mirrors/bc/BCompare_Keygen 当Beyond Compare 5的30天评估期结束后&#xff0c;用户常常会遇到"评估…...

仅剩127天!Python 3.14+原生AOT将成标准解释器默认后端:企业级迁移路线图与兼容性断点预警

第一章&#xff1a;Python 原生 AOT 编译方案 2026 生产环境部署全景概览Python 原生 AOT&#xff08;Ahead-of-Time&#xff09;编译在 2026 年已进入成熟商用阶段&#xff0c;核心由 CPython 官方主导的 cpython-aot 工具链与 PEP 718 所定义的字节码预优化规范共同支撑。该方…...