React -- Switch的使用
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的使用相关推荐
- React路由---react-router-dom、获取路由参数、ant design ui组件、fetch发送请求(默认不能跨域)、Switch...
1.下载 yarn add react-router-dom --save 2.导入 import React from "react"; import { BrowserRout ...
- [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 ...
- React - antd4 中在form中为Switch赋值无效
项目场景: React - antd4; From表单 问题描述: Switch赋初始值无效 # 解决方案: let newCheck = {};if (propsForm.type === 'swi ...
- React Native组件之Switch和Picker和Slide
React Native组件Switch类似于iOS中的UISwitch:组件Slide类似于iOS中UIslider,组件Picker类似于iOS的UIPickerView.他们的使用方法和相关属性 ...
- React 路由 Switch 用法
回顾: NavLink 与封装 Navlink 1: NvaLink 可以实现路由链链接的高亮, 通过activeClassName 指定样式; 2: 标签体的内容是一个特殊的标签属性; 3: 通过t ...
- React路由报错You should not use Switch outside a Router
修改方式 用Router替换掉Switch import React, { Component } from 'react' import { BrowserRouter as Router, Rou ...
- React学习16(Switch组件的使用)
作用 通常情况下,path和component是一一对应的 Switch可以提高路由匹配效率(单一匹配,谁在前面,先匹配谁) 代码示例 import React, { Component } from ...
- react native 组件之switch组件的用法
写项目需要用到RN的switch组件,在官方文档上大概看了下,主要讲的就是switch组件的一些样式,还有调用的方法:onValueChiange,但关于怎么切换开关,怎么调用等,都没有提到..无奈 ...
- react(96)--switch做判断
list: (text, row) => {const list = [];switch (row.status) {case COURSE_STATUS_UPSHEFF:list.push({ ...
最新文章
- 端口号被占用怎么解决
- 对机械臂的肩关节与肘关节编码器连接与设置
- 西工大matlab计算机实验题,西工大信号系统上机实验一实验二
- PCL点云库用Poisson网格化实现点云的表面重建
- 自动查找并删除VC生成的临时文件
- PostgreSQL GIN multi-key search 优化
- 编程能力强化(4)——模拟SQL语句解析
- 2020中国十大最丑建筑出炉,你觉得哪个更丑?
- mybatis3 添加ehcache支持
- (8)UART发送verilog与Systemverilog编码
- 最短路径问题 图论
- 你见过最差的算法工程师能差到什么程度?
- java怎么与数据库连接?
- 华为网络工程师认证有哪些?值不值得考?
- 百度地图LV1.5实践项目开发工具类bmap.util.jsV1.1
- 全网史上最全的AR学习开发资源汇总(转载他人整理作品,供参考)
- 线性代数(预备知识)
- 计算机开机滴一声513错误,电脑滴一声开不了机怎么办_电脑一声响后就开不了机了的处理办法...
- 跟着迪哥学python 经管之家_跟着迪哥学:Python数据分析与机器学习实战
- tampermonkey油猴插件|tampermonkey油猴脚本
热门文章
- 旭锋科技制造信息管理系统
- cloudflare_如何使用Cloudflare Flan进行连续漏洞扫描
- 常用的局域网的网络拓扑有哪些种类?现在最流行的是哪种结构?为什么早期的以太网选择总线拓扑结构而不是星形拓扑结构,但现在却改为使用星形拓扑结构?
- Windows注册表的基本知识及应用
- 计算机趣事 英语作文,寒假趣事英语作文4篇
- Appium 屏幕截图(交易宝)
- 安卓_手机卫士_第五天(手机定位,设备管理器,电话归属地)
- Cadence基础知识4(焊盘制作比较重要的3点以及热风焊盘的作用和制作 )
- 万豪环保系列之明渠紫外线消毒器
- F1--DDR3的应用总结(二)-2021.11.29