Switch的作用:Switch可以提高路由匹配效率(单一匹配)。

例:

import React, { Component } from 'react'
import {Route,Switch} from 'react-router-dom'
import Home from './pages/Home' //Home是路由组件
import About from './pages/About' //About是路由组件
import Header from './components/Header' //Header是一般组件
import MyNavLink from './components/MyNavLink'
import Test from './pages/Test1'export default class App extends Component {render() {return (<div><div className="row"><div className="col-xs-offset-2 col-xs-8"><Header/></div></div><div className="row"><div className="col-xs-2 col-xs-offset-2"><div className="list-group">{/* 原生html中,靠<a>跳转不同的页面 */}{/* <a className="list-group-item" href="./about.html">About</a><a className="list-group-item active" href="./home.html">Home</a> */}{/* 在React中靠路由链接实现切换组件--编写路由链接 */}{/* <NavLink activeClassName="atguigu" className="list-group-item" to="/about">About</NavLink><NavLink activeClassName="atguigu" className="list-group-item" to="/home">Home</NavLink> */}<MyNavLink to="/about">About</MyNavLink><MyNavLink to="/Home">Home</MyNavLink></div></div><div className="col-xs-6"><div className="panel"><div className="panel-body">{/* 注册路由 */}<Switch><Route path="/about" component={About}/><Route path="/home" component={Home}/><Route path="abc" component={ABC} /><Route path="abc" component={ABC} /><Route path="abc" component={ABC} /><Route path="abc" component={ABC} /><Route path="abc" component={ABC} /><Route path="abc" component={ABC} /><Route path="abc" component={ABC} /><Route path="abc" component={ABC} /><Route path="abc" component={ABC} /><Route path="/Home" component={Test}/></Switch></div></div></div></div></div>)}
}

代码描述:

上述代码使用封装好的MyNavLink分别指向了

/about

/home

然后使用Route来设置对应的地址展示的路由组件

Switch作用体现:

由于路由的默认是多次匹配(既:通过for循环遍历一遍每个路由组件,找到所有对应该路径的路由组件来展,如果路由组件很多的话造成了效率过低)

这里用Switch包裹Route来实现单一匹配,既一个路由对应第一个该路由的路由组件。原理为遍历到该路由组件后,停止遍历。

React -- Switch的使用相关推荐

  1. React路由---react-router-dom、获取路由参数、ant design ui组件、fetch发送请求(默认不能跨域)、Switch...

    1.下载 yarn add react-router-dom --save 2.导入 import React from "react"; import { BrowserRout ...

  2. [React Router v4] Conditionally Render a Route with the Switch Component

    We often want to render a Route conditionally within our application. In React Router v4, the Route ...

  3. React - antd4 中在form中为Switch赋值无效

    项目场景: React - antd4; From表单 问题描述: Switch赋初始值无效 # 解决方案: let newCheck = {};if (propsForm.type === 'swi ...

  4. React Native组件之Switch和Picker和Slide

    React Native组件Switch类似于iOS中的UISwitch:组件Slide类似于iOS中UIslider,组件Picker类似于iOS的UIPickerView.他们的使用方法和相关属性 ...

  5. React 路由 Switch 用法

    回顾: NavLink 与封装 Navlink 1: NvaLink 可以实现路由链链接的高亮, 通过activeClassName 指定样式; 2: 标签体的内容是一个特殊的标签属性; 3: 通过t ...

  6. React路由报错You should not use Switch outside a Router

    修改方式 用Router替换掉Switch import React, { Component } from 'react' import { BrowserRouter as Router, Rou ...

  7. React学习16(Switch组件的使用)

    作用 通常情况下,path和component是一一对应的 Switch可以提高路由匹配效率(单一匹配,谁在前面,先匹配谁) 代码示例 import React, { Component } from ...

  8. react native 组件之switch组件的用法

    写项目需要用到RN的switch组件,在官方文档上大概看了下,主要讲的就是switch组件的一些样式,还有调用的方法:onValueChiange,但关于怎么切换开关,怎么调用等,都没有提到..无奈 ...

  9. react(96)--switch做判断

    list: (text, row) => {const list = [];switch (row.status) {case COURSE_STATUS_UPSHEFF:list.push({ ...

最新文章

  1. 端口号被占用怎么解决
  2. 对机械臂的肩关节与肘关节编码器连接与设置
  3. 西工大matlab计算机实验题,西工大信号系统上机实验一实验二
  4. PCL点云库用Poisson网格化实现点云的表面重建
  5. 自动查找并删除VC生成的临时文件
  6. PostgreSQL GIN multi-key search 优化
  7. 编程能力强化(4)——模拟SQL语句解析
  8. 2020中国十大最丑建筑出炉,你觉得哪个更丑?
  9. mybatis3 添加ehcache支持
  10. (8)UART发送verilog与Systemverilog编码
  11. 最短路径问题 图论
  12. 你见过最差的算法工程师能差到什么程度?
  13. java怎么与数据库连接?
  14. 华为网络工程师认证有哪些?值不值得考?
  15. 百度地图LV1.5实践项目开发工具类bmap.util.jsV1.1
  16. 全网史上最全的AR学习开发资源汇总(转载他人整理作品,供参考)
  17. 线性代数(预备知识)
  18. 计算机开机滴一声513错误,电脑滴一声开不了机怎么办_电脑一声响后就开不了机了的处理办法...
  19. 跟着迪哥学python 经管之家_跟着迪哥学:Python数据分析与机器学习实战
  20. tampermonkey油猴插件|tampermonkey油猴脚本

热门文章

  1. 旭锋科技制造信息管理系统
  2. cloudflare_如何使用Cloudflare Flan进行连续漏洞扫描
  3. 常用的局域网的网络拓扑有哪些种类?现在最流行的是哪种结构?为什么早期的以太网选择总线拓扑结构而不是星形拓扑结构,但现在却改为使用星形拓扑结构?
  4. Windows注册表的基本知识及应用
  5. 计算机趣事 英语作文,寒假趣事英语作文4篇
  6. Appium 屏幕截图(交易宝)
  7. 安卓_手机卫士_第五天(手机定位,设备管理器,电话归属地)
  8. Cadence基础知识4(焊盘制作比较重要的3点以及热风焊盘的作用和制作 )
  9. 万豪环保系列之明渠紫外线消毒器
  10. F1--DDR3的应用总结(二)-2021.11.29