react进阶
- react-virtualized的高阶组件,Autosize可以使屏幕适配。使用render-props模式来获取到AutoSizer组件暴露的width和height属性。
- JSON.parse(JSON.stringify())不适用于有undefined的数据。
深拷贝的使用,不能使用在有undefined的数据中。有直接过滤undefinded的数据。 - deepcopy (递归深复制)性能不好,占用内存。
- immutable的拷贝:从子组件获取到地址信息,如果有新值,新值指向新值,其他继续引用旧函数。最好配合immutable的方法。
- mobx的使用:使用observable来订阅信息,使用autorun来消费信息。autorun会自动去绑定里面相关的值,相关值改变时才进行改变。绑定值可以使用observable.get和observable.map绑定。装饰器浏览器要识别要使用@babel/plugin-proposal-decorators,配置.babelrc添加装饰器的语法。再安装 npm i customize-cra react-app-rewired。
- styled-components:在js中使用css。cosnt StyledFooter = styled.footer`background: yellow`,使用标签函数。原理是用这个去包装你的组件,形成高阶函数,且默认加上了一些样式。
- yield和* 什么时候可以用到,在redux-sage或者dva中会使用
- redux-saga: redux的中间件,可执行副作用的异步操作数据的方法。
- formik 表单验证,react的高阶函数
- 兄弟组件通信,将共享状态提升至最近的公父组件中,由公共父组件管理这个状态,状态提升。
- 样式覆盖:在配置路由时,CityList和Map组件都被导入到项目中,那么组件的样式也就被导入到项目中。如果组件之间样式名称相同,那么一个组件中的样式就会在另一个组件中生效,从而造成组件之间样式相互覆盖的问题。
- 解决方案:1、类名不同。2、scss的嵌套。3、css in js。
- css in js:指在javascript编写css的统称,用来解决css样式的冲突,覆盖等问题。常见有:css modules、styled-components等。
- css modules:实现方式,使用了webpack的css-loader插件;命名采用:BEM(block块,element元素、modifier三部分组成)命名规范,比如:.list_item_active。
- 使用方式:创建一个名为 xxx.module.css 的样式文件。如 import styles from "./index.module.css";
- <div style={styles.text}></div
- umijs,Dva:
- 重定向组件
import {} from "umi"; <Redirect to="/film" /> - 嵌套路由:
在pages中新建文件夹film,该文件夹下还有一个_layout.tsx,默认是访问这个。如果同级目录中有Comingsoon.tsx,在路径输入后会返回到新加的文件。
如果要使用父路由调用子路由,就使用props.children的方法。function Film(props){<div>{props.children}</div> }
如果需要读取路由信息,使用const location = useLocation();中
可以新建一个layouts来存放根组件目录。级别比较高,需要使用{props.children}显示视图。
- 重定向组件
- GraphQL的使用:进行处理数据,规定后端一些字段。
- umi下的dvajs:原生dvajs,要手动注册redux的同步和异步。
- umi就不用手动注册。
- 全局安装npm install dva-cli -g
相关文章:
react进阶
react-virtualized的高阶组件,Autosize可以使屏幕适配。使用render-props模式来获取到AutoSizer组件暴露的width和height属性。JSON.parse(JSON.stringify())不适用于有undefined的数据。 深拷贝的使用,不能使用在有undefined的数据中。有直接过滤undefi…...
使用windows搭建WebDAV服务,并内网穿透公网访问【无公网IP】
文章目录 1. 安装IIS必要WebDav组件2. 客户端测试3. 使用cpolar内网穿透,将WebDav服务暴露在公网3.1 打开Web-UI管理界面3.2 创建隧道3.3 查看在线隧道列表3.4 浏览器访问测试 4. 安装Raidrive客户端4.1 连接WebDav服务器4.2 连接成功4.2 连接成功 1. Linux(centos8…...
科技感响应式管理系统后台登录页ui设计html模板
做了一个科技感的后台管理系统登录页设计,并且尝试用响应式布局把前端html写了出来,发现并没有现象中的那么容易,chrome等标准浏览器都显示的挺好,但IE11下面却出现了很多错位,兼容起来还是挺费劲的,真心不…...
Lombok的使用及注解含义
文章目录 一、简介二、如何使用2.1、在IDEA中安装Lombok插件2.2、添加maven依赖 三、常用注解3.1、Getter / Setter3.2、ToString3.3、NoArgsConstructor / AllArgsConstructor3.4、EqualsAndHashCode3.5、Data3.6、Value3.7、Accessors3.7.1、Accessors(chain true)3.7.2、Ac…...
实时通信应用的开发:Vue.js、Spring Boot 和 WebSocket 整合实践
目录 1. 什么是webSocket 2. webSocket可以用来做什么? 3. webSocket协议 4. 服务器端 5. 客户端 6. 测试通讯 1. 什么是webSocket WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务…...
【C++】C++异常
文章目录 1. C语言传统处理错误的方式2. C异常的概念3. 异常的使用3.1 异常的抛出和捕获3.2 异常的重新抛出3.3 异常安全3.4 异常规范 4. C标准库的异常体系5. 自定义的异常体系6. 异常的优缺点 1. C语言传统处理错误的方式 C语言传统的错误处理机制有两个: 终止程…...
学生成绩管理系统V2.0
某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,参考前面章节的“学生成绩管理系统V1.0”,用一维数组和函数指针作函数参数编程实现如下菜单驱动的学生成绩管理系统,其中每位同学的学号和成绩等数据可以…...
【C++】开源:tinyxml2解析库配置使用
😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍tinyxml2解析库配置使用。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下,…...
如何使用webpack打包一个库library,使用webpack打包sdk.
如何使用webpack打包一个库library 如果你需要自己封装一些包给别人使用,那么可以参考以下方法 初始化库 mkdir library cd library npm init -y经过以上步骤后会生成一个library文件夹,里面包含一个package.json文件。然后简单修改为如下所示: {&qu…...
项目一:基于stm32的阿里云智慧消防监控系统
若该文为原创文章,转载请注明原文出处。 Hi,大家好,我是忆枫,今天向大家介绍一个单片机项目。 一、简介 智慧消防监控系统,是用于检测火灾,温度,烟雾的监控系统。以 stm32单片机为核心外加 MQ…...
【果树农药喷洒机器人】Part6:基于深度相机与分割掩膜的果树冠层体积探测方法
📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨ 📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】 📢:文章若有幸对你有帮助,可点赞 👍…...
打印1到最大的n位数
目录 1.题目概述 2.题解 1.题目概述 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。 1. 用返回一个整数列表来代替打印 2. n 为正整数,0 < n < 5 示例: 输入…...
设计模式行为型——状态模式
目录 状态模式的定义 状态模式的实现 状态模式角色 状态模式类图 状态模式举例 状态模式代码实现 状态模式的特点 优点 缺点 使用场景 注意事项 实际应用 在软件开发过程中,应用程序中的部分对象可能会根据不同的情况做出不同的行为,把这种对…...
ElastAlert通过飞书机器人发送报警通知
前言 公司采用ELK架构搜集业务系统的运行日志,以前开发人员只有在业务出现问题的时候,才会去kibana上进行日志搜索操作,每次都是被用户告知系统出问题了,这简直是被啪啪打脸~ 于是痛定思痛,决定主动出击,…...
恒温碗语音芯片,具备数码管驱动与温度传感算法,WT2003H-B012
近年来,随着科技的飞速发展,智能家居产品已然成为了现代生活的一部分,为人们的生活带来了更多的便利和舒适。在这个不断演进的领域中,恒温碗多功能语音芯片——WT2003H-B012成为众多厂商的首选,为智能家居领域注入了全…...
新能源汽车需要检测哪些项目
截至2022年底,中国新能源车保有量达1310万辆,其中纯电动汽车保有量1045万辆。为把好新能源汽车安全关,我国新能源汽车除了完善的强制性产品认证型式实验外,还建立了“车企-地方-国家”逐级上报的三级监管体系实行新能源汽车全生命…...
VR内容定制 | VR内容中控管理平台可以带来哪些价值?
随着科技的不断发展,虚拟现实(VR)技术已经逐渐渗透到各个领域,其中教育领域也不例外。通过VR技术,学生可以身临其境地参与到各种场景中,获得更加直观、生动的学习体验。为了让教师更好地进行VR教学的设计和管理,提高教…...
篇十八:状态模式:状态驱动的行为
篇十八:"状态模式:状态驱动的行为" 开始本篇文章之前先推荐一个好用的学习工具,AIRIght,借助于AI助手工具,学习事半功倍。欢迎访问:http://airight.fun/。 另外有2本不错的关于设计模式的资料&…...
【Tomcat】(Tomcat 下载Tomcat 启动Tomcat 简单部署 基于Tomcat进行网站后端开发)
文章目录 Tomcat下载Tomcat启动Tomcat简单部署 基于Tomcat进行网站后端开发 Tomcat Tomcat 是一个 HTTP 服务器.HTTP 协议就是 HTTP 客户端和 HTTP 服务器之间的交互数据的格式. HTTP 服务器我们可以通过 Java Socket 来实现. 而 Tomcat 就是基于 Java 实现的一个开源免费,也是…...
简单动态字符串 sds
Redis 设计了简单动态字符串(Simple Dynamic String,SDS)的结构,用来表示 字符串。相比于 C 语言中的字符串实现,SDS 这种字符串的实现方式,会提升字符串的操 作效率,并且可以用来保存二进制数据…...
保姆级教程:在Ubuntu 22.04上为全志D1s/F133 MangoPi-MQ编译Tina Linux(含SDK结构解析)
全志D1s/F133开发板Tina Linux编译实战指南:从环境搭建到固件烧录 第一次拿到MangoPi-MQ这块小巧的开发板时,我对着全志Tina Linux的SDK文档发了半小时呆——lichee目录是干什么的?device和package又有什么区别?为什么官方教程里的…...
进程概念(1)
目录 1.冯诺依曼体系结构 1.软件运行,必须先加载?程序运行之前,在哪里? 可不可以没有存储器呢? 理解数据流动 2.操作系统 1》一个基本的程序集合,称为操作系统(OS) 2》设计OS的目的 3》理解操作系统…...
Open UI5 源代码解析之1106:MenuTextFieldItem.js
源代码仓库: https://github.com/SAP/openui5 源代码位置:src\sap.ui.commons\src\sap\ui\commons\MenuTextFieldItem.js MenuTextFieldItem.js 文件深度分析 这不是普通菜单项,而是把输入能力塞进菜单体系的特殊桥接点 MenuTextFieldItem.js 这个文件和前面那些 commo…...
OFA图像语义蕴含模型保姆级部署指南:从零到一搭建Web应用
OFA图像语义蕴含模型保姆级部署指南:从零到一搭建Web应用 1. 项目概述与技术背景 1.1 什么是图像语义蕴含 图像语义蕴含(Visual Entailment)是多模态AI领域的一项重要任务,它需要系统判断给定的文本描述是否能够从图像内容中逻…...
通过dis dev pic看板卡的门道
这个命令: display device pic-status是查看设备 PIC 板卡(接口子卡)运行状态 的,用来确认板卡是否识别正常、初始化是否成功、端口逻辑状态是否正常。一、命令作用 display device pic-status查看内容: 设备各槽位接口…...
别再瞎调PLL了!手把手教你用STM32CubeMX配置STM32F411的100MHz系统时钟(HSI/HSE对比实测)
STM32CubeMX实战:从HSI到HSE的100MHz时钟配置全解析 第一次接触STM32的时钟树配置时,我被那些密密麻麻的分频系数和PLL参数搞得晕头转向。直到发现STM32CubeMX这个神器,才真正体会到图形化配置工具的威力。本文将带你用CubeMX完成STM32F411的…...
如何零成本掌握专业统计分析?JASP开源统计软件终极指南
如何零成本掌握专业统计分析?JASP开源统计软件终极指南 【免费下载链接】jasp-desktop JASP aims to be a complete statistical package for both Bayesian and Frequentist statistical methods, that is easy to use and familiar to users of SPSS 项目地址: …...
SQL盲注技术全解析:布尔盲注、时间盲注与DNSLog带外注入
前言 在之前的学习中,我们掌握了 SQL 注入的基本原理,包括联合查询注入和报错注入技术。这些攻击方式都有一个共同点:需要页面能够显示查询结果或通过报错信息泄露数据。但在实际环境中,Web 应用通常会采取多种防护措施ÿ…...
从AVB到TSN:一文理清车载音视频网络的技术演进与选型避坑指南
从AVB到TSN:车载音视频网络的技术演进与选型实战 当特斯拉Model S首次将17英寸触摸屏引入汽车座舱时,很少有人意识到这背后隐藏着一场车载网络技术的革命。传统CAN总线2Mbps的带宽在4K视频流面前如同乡间小路面对高铁,而工程师们发现…...
选SSD别再只看品牌了!搞懂SLC、MLC、TLC的物理区别,省电又耐用
选SSD别再只看品牌了!搞懂SLC、MLC、TLC的物理区别,省电又耐用 每次打开电商平台的SSD商品页面,总能看到各种让人眼花缭乱的参数:读写速度、TBW寿命、IOPS性能...但最核心的NAND闪存类型却往往被淹没在营销话术中。作为一位经历过…...
