React路由里exact和switch的区别

2023-05-16

React路由里exact和switch的区别

exact属性

react的路由匹配默认是模糊的,包容的,如果想使用严格匹配,那么,把Route组件的exact属性设置为true。

<Route exact={true} path="/" component={App} />

假如,有如下路由配置:

<BrowserRouter>
    <Route path="/" component={App} />
    <Route path="/My" component={My}/>
</BrowserRouter>

地址栏中输入:http://localhost:3000/My,那么路径 “/My”,匹配到的路径是: “/” 和
“/My”,并且,在浏览器会把匹配到的所有组件的内容进行显示。

如果希望 路径 /My 值匹配 path=“/My”,那么,这么写:<Route exact={true} path="/" component={App} />

Switch:排他性匹配

react默认的路由匹配是包容性的,即:匹配到的多个路由对应的所有组件会同时被显示在页面上。如果只希望显示匹配到的第一个组件(换句话说:匹配到的第一个符合要求的路径后,其它路径就不再做匹配),那么使用switch。

路由配置改成如下:

  <BrowserRouter>
    <Switch>
       <Route  exact={true} path="/" component={App} />
       <Route path="/My" component={My}/>
       <Route component={Error}/> 总是会匹配
    </Switch>
  </BrowserRouter>

地址栏中输入:http://localhost:3000/My,那么路径 “/My”,只会让浏览器显示匹配到的第一个组件My。

exact和switch区别?

   excat:表示匹配规则,exact={true} 表地址栏的路径和路由配置中path一定要完全相等
   
   switch:表示排他性,即:一旦匹配成功后,就不再匹配其它路由
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React路由里exact和switch的区别 的相关文章

  • React Native 环境搭建, 新建项目, 运行和调试

    React Native 可以理解为一个基于 JavaScript 具备动态配置能力 面向前端开发者的移动端开发框架 目前为止虽然一直还没有V1 0 0版本 但是相信很多小伙伴都了解过或者已经入坑了 为什么RN那么有人气呢 我们可以先简单分
  • 在react项目中,使用craco插件进行mobx配置解决方案

    在使用react项目中 不可避免的要使用蚂蚁金服出品的ant desgin前端UI组件 ant desgin推荐使用 craco 一个对 create react app 进行自定义配置的社区解决方案 对 create react app
  • 【前端】react-markdown配置解析

    文章目录 react markdown基本配置 同步预览配置 MdEditorComponent js reducer js initBlogState js action types js sync actions js store js
  • styled-components 的用法

    用于给标签或组件添加样式 给标签或组件添加样式 import styled from styled components styled button 给button标签添加样式 const Button styled button back
  • 配置使用Eslint的时候 版本错误 "eslint": "5.6.0" a different version of eslint was detected higher up in the tr

    1 如果你也遇到下面的问题 你可以 按照命令行提示的那样 下面这四步完成的一般就可以了 但是不排除你在运行的时候忘记下载某些依赖 1 删除 package lock json 不是package json 你可以选择 yarn lock 或
  • react基础--组件通讯:props基础、子传父、父传子、兄弟组件通讯、context跨级组件、props进阶

    目录 一 props基础 1 1 概述 1 2 函数组件通讯 1 2 1 基本用法 1 2 1 对象数据传递 1 3 类组件通讯 1 4 props的特点 二 组件通讯三种方式 2 1 父传子 2 2 子传父 2 3 兄弟组件通讯 三 co
  • 【Ant Design】Form.Item创建自定义表单

    一 概述 Antd是一个非常强大的UI组件库 里面的Form表单组件也基本能满足我们大多数场景 但是也有需要自定义表单的场景 Vue2里我们使用v model 结合子组件的model属性 来实现自定义组件的双向绑定 Vue3里我们使用v m
  • Vite搭建react+ts项目

    创建一个react项目 首先需要打开终端 进行vite的引入 yarn create vite 使用react模板创建项目 yarn create vite react test template react cd react test y
  • 【react】新旧生命周期对比

    componentWillUpdate componentWillReceiveProps componentWillMount 上述这三个生命周期在V18以上的版本中 使用时要加上UNSELF name
  • react和react jsx基础

    本文是个人学习笔记 例子都是来自React Native官网 之前不是做前端的 没有使用过react 要学习react native做混合开发 react 包括react jsx还是得补补 react和react jsx react是一个j
  • 前端学科面试题大全

    作用域和值类型引用类型的传递 变量作用域 作用域变量访问区域 变量值存在栈中 变量赋值相当于值赋值 值传递与引用传递有哪些区别 函数内部 变量会先声明 形式参数变量声明提升 整个函数体有var声明的变量 如果没有访问全局定义的num2 函数
  • React官方文档--Lifting State Up

    Lifting State Up 如果 几个组件需要同时影响并且修改同一个数据 我们建议将这个共享状态进行提升 给他们最近的共同祖先 在这个部分 我们将要创建一个温度计算器来判断水会不会在给定温度下沸腾 我们将从一个叫做BoilingVer
  • umi 后台管理demo

    umi 后台管理demo umi react ts dva antd egg 有待优化 简单的前后端管理demo 接口提供增删查改 前端也有相应功能 github代码 https github com huiBuiling ql admin
  • React 定时刷新接口

    通过 useEffect 在页面加载时调用 getNodeDetailList 列表接口 useEffect gt getNodeDetailList change 然后通过 setInterval 来进行定时刷新 useEffect gt
  • 值得收藏的UmiJS 教程

    点击上方关注 前端技术江湖 一起学习 天天进步 前言 网上的umi教程是真的少 很多人都只写了一点点 很多水文 所以打算自己写一篇 自己搭建umi 并封装了一下常用的功能 并用到公司实际项目中 umi介绍 Umi 是什么 Umi 中文可发音
  • vue发展历史简介

    基本介绍 Vue 是一套用于构建用户界面的 渐进式框架 与其它大型框架不同的是 Vue 被设计为可以自底向上逐层应用 最初它不过是个人项目 时至今日 已成为全世界三大前端框架之一 github 上拥有 17 8万 Star 领先于 Reac
  • 如何替换对象的key值

    发生的场景 现在用antd组件库 有些组件想渲染数据的话 我要根据他们官网给的字段名称对应起来才能渲染上去 这个是复选框选中 保存的时候 字段需要按照后台约定的传入code value 1 常规循环遍历 大招来了 哈哈哈 才疏学浅 我觉得是
  • React事件处理及事件流

    React事件处理 React事件处理是通过将事件处理器绑定到组建上处理事件 事件触发的同时更新组建的内部状态 内部状态更新会触发组件的重绘 React 元素的事件处理和 DOM 元素的事件处理很相似 但语法上的略有区别 在React中事件
  • error Missing “key“ prop for element in array react/jsx-key

    react遇到一个奇怪的问题 error Missing key prop for element in array react jsx key 检查了jsx中使用map的 都定义了key div otherList map item an
  • react之封装有无Token(路由权限控制)的高阶组件

    TOC 前景 有些路由页面内的内容信息比较敏感 如果用户没有经过登录获取到有效Token 是没有权限跳转的 根据Token的有 无控制当前路由是否可以跳转就是路由的权限控制 技术方案 实现步骤 1 在 components 目录中 创建 A

随机推荐

  • TensorRT量化工具pytorch_quantization代码解析(一)

    量化工具箱pytorch quantization 通过提供一个方便的 PyTorch 库来补充 TensorRT xff0c 该库有助于生成可优化的 QAT 模型 该工具包提供了一个 API 来自动或手动为 QAT 或 PTQ 准备模型
  • TensorRT量化工具pytorch_quantization代码解析(二)

    后续继续补充 xff01 继续看张量量化函数 xff0c 代码位于 xff1a tools pytorch quantization pytorch quantization tensor quant py ScaledQuantDescr
  • TensorRT量化工具pytorch_quantization代码解析(四)

    继续看pytorch quantiation calib 中Calibrator类 xff0c 代码位于 xff1a tools pytorch quantization pytorch quantization calib 其作用 xff
  • 基于3d稀疏卷积的centerpoint部署

    目前已实现基于稀疏卷积的centerpoint部署 xff0c 精度不丢失 xff0c 在3080ti 显卡nuscenes数据集下 pytorch 平均一帧耗时182ms xff0c 本文部署centerpoint fp32推理平均一帧耗
  • Cuda—— Atomic Functions

    Atomic Functions 原子函数对驻留在全局或共享内存中的一个 32 位或 64 位字执行读取 修改 写入原子操作 在 float2 或 float4 的情况下 xff0c 对驻留在全局内存中的向量的每个元素执行读取 修改 写入操
  • Apollo 7.0——percception:rader源码剖析

    入口 该模块的启动是通过融合模块的dag文件而启动的 xff0c 在Apollo modules perception production launch中 xff0c 并没有单独启动radar的launch文件或者单独启动的dag文件 其
  • 数字前端后端的区别、以及流程简介

    数字前端后端的区别 以及流程简介 下面转自 xff1a https www cnblogs com youngforever p 3142483 html 前端设计 xff08 也称逻辑设计 xff09 和后端设计 xff08 也称物理设计
  • 【ROS基础】Linux命令行

    系列文章目录 ROS基础 Linux 命令行 ROS基础 launch 文件语法记录 ROS基础 CMakeLists txt 文件语法记录 ROS基础 Package xml 文件语法记录 ROS基础 ROS c 43 43 语法记录 前
  • 【ROS小车4】_妙算2c由默认Ubuntu16升级为18_命令行搞定无需进BIOS

    1 背景 将ROS树莓派小车中的代码移植到妙算2c中的时候报了找不到JpegPkg包的错误 xff0c 怎么也解决不了 xff08 目前来看应该是奥比中光的深度摄像头的包出了问题 xff0c 但是在妙算2c自带的Ubuntu1604中解决不
  • 【ROS小车5】_ROS源码移植 编译报错汇总

    1 No package orocos bfl found 解决 xff1a span class token function sudo span span class token function apt get span span c
  • 用破解工具破解Myeclipse 2017 CI生成SystemId时报错com.jniwrapper.util.processorinfo解决方法

    之前用Eclipse觉得没其他同学用Myeclipse好 xff0c 于是心血来潮决定下载Myeclipse来把玩把玩 xff0c 没想到过程并不是那么顺利 因为Myeclipse不是免费软件 xff0c 所以需要破解工具 去网上找到破解教
  • 【ROS小车7】_ROS主控与STM32主控通信的设置方法

    一 背景资料 ROS 主控的 USB 接口连接 STM32 的 microUSB 接口 xff0c 但是 STM32 上的microUSB 并非真正的 USB xff0c 而是一个 USB 转串口芯片 面腾讯的机器人部门 Robotics
  • PX4 EKF中的多传感器融合方法

    文章目录 1 滤波方法及状态预测1 1 EKF 滤波方程1 2 KF 滤波方程1 3 PX4中的状态量及其预测1 3 1 状态量1 3 2 姿态四元数一步预测1 3 3 速度 位置一步预测1 3 4 协方差阵预测 2 磁三轴数据融合2 1
  • PX4利用matlab推导生成 EKF中雅可比矩阵的方法

    文章目录 一 Matlab的Symbolic Maths Toolbox是什么二 PX4 EKF中需要的雅可比矩阵三 Matlab脚本解析参考来源 PX4实际使用了Matlab的Symbolic Maths Toolbox来进行雅可比矩阵的
  • 如何在linux下编译RTKLIB(实时RTK程序rtkrcv)

    文章目录 一 RTKLIB Demo5代码下载二 RTKLIB的makefile三 编译rtkrcv 欢迎关注个人公众号 xff1a 导航员学习札记 前段时间看到rtklibexplorer发表的博客raspberry pi based p
  • 推荐关于PX4 ECL EKF方程推导的两篇“宝藏“文章

    文章目录 一 PX4 的 ECL EKF 公式推导及代码解析 by 赵祯卿二 PX4 的 ECL EKF2 方程推导 by shuyong chen PX4的ECL EKF开源代码已经比较广泛地应用到很多无人机飞控项目中 该开源项目可以融合
  • js用冒泡解释回调函数

    回调函数的概念 就是自己定义一个函数 xff0c 然后再调用 从而实现这个函数的程序内容 xff0c 然后把这个函数作为另一个函数的参数传入 js代码会至上而下一条线执行下去 xff0c 但是有时候我们需要等到一个操作结束之后再进行下一个操
  • 跨域的解决方案(反向代理)

    反向代理 在前后端分离开发的场景 xff0c 前端有个服务器 xff08 提供页面 xff09 后端也有个服务器 xff08 提供接口 xff09 1 开发环境 xff0c 前端要连后端的接口 xff0c 就会出现跨域问题 2 生产 xff
  • React路由传参常见的几种方式

    React路由传参 解释 xff1a 路由传参完成的是组件之间的数据传递 xff08 组件传值 xff09 1 xff09 params 路由配置 xff1a span class token operator lt span Route
  • React路由里exact和switch的区别

    React路由里exact和switch的区别 exact属性 react的路由匹配默认是模糊的 xff0c 包容的 xff0c 如果想使用严格匹配 xff0c 那么 xff0c 把Route组件的exact属性设置为true span c