React中的fragment和StrictMode

一、fragment

在之前的开发中,我们总是在一个组件中返回内容时包裹一个div元素:
在这里插入图片描述
我们又希望可以不渲染这样一个div应该如何操作呢?

  • 使用Fragment
  • Fragment 允许你将子列表分组,而无需向 DOM 添加额外节点;
    在这里插入图片描述

React还提供了Fragment的短语法:

  • 它看起来像空标签 <> </>;
    在这里插入图片描述

  • 但是,如果我们需要在Fragment中添加key,那么就不能使用短语法
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

二、StrictMode

StrictMode 是一个用来突出显示应用程序中潜在问题的工具。
在这里插入图片描述

  • 与 Fragment 一样,StrictMode 不会渲染任何可见的 UI;
  • 它为其后代元素触发额外的检查和警告;
  • 严格模式检查仅在开发模式下运行;它们不会影响生产构建;

可以为应用程序的任何部分启用严格模式:

  • 不会对 Header 和 Footer 组件运行严格模式检查;
  • 但是,ComponentOne 和 ComponentTwo 以及它们的所有后代元素都将进行检查;
    在这里插入图片描述

三、严格模式检查的是什么?

但是检测,到底检测什么呢?

  1. 识别不安全的生命周期:
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 使用过时的ref API
    在这里插入图片描述

  2. 使用废弃的findDOMNode方法

  • 在之前的React API中,可以通过findDOMNode来获取DOM,不过已经不推荐使用了
  1. 检查意外的副作用
  • 这个组件的constructor会被调用两次;
  • 这是严格模式下故意进行的操作,让你来查看在这里写的一些逻辑代码被调用多次时,是否会产生一些副作用;
  • 在生产环境中,是不会被调用两次的;
import React, {PureComponent, StrictMode} from 'react';
class Home extends PureComponent {/*UNSAFE_componentWillMount() {console.log('home componentWillMount')}*/constructor(props) {super(props);console.log('home constructor')}render() {return (<div>Home</div>);}
}
class Profile extends PureComponent {/*UNSAFE_componentWillMount() {console.log('profile componentWillMount')}*/constructor(props) {super(props);console.log('profile constructor')}render() {return (<div>Profile</div>);}
}class App extends PureComponent {render() {return (<div><StrictMode><Home/></StrictMode><Profile/></div>);}
}export default App;
  1. 检测过时的context API
  • 早期的Context是通过static属性声明Context对象属性,通过getChildContext返回Context对象等方式来使用Context的;
  • 目前这种方式已经不推荐使用,大家可以自行学习了解一下它的用法;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/470269.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

怎么让车辆gps定位失效_如何更有效地检测车辆gps定位器?

GPS定位器可以帮助我们管理我们心爱的汽车&#xff0c;在任何时候定位和查询车辆的位置&#xff0c;并跟踪车辆防盗&#xff0c;一些汽车公司和公共交通企业也可以管理和调度车队&#xff0c;管理数据&#xff0c;并根据GPS定位器分析数据&#xff0c;实现智能和现代交通。GPS定…

云平台需要开发的底层功能

1、WEB与手机的消息通讯 http://www.rongcloud.cn/docs/web.html 可以实现各种系统消息的WEB和手机同时接收。 2、扩展底层支持幼儿&#xff0c;基础&#xff0c;职业&#xff0c;高师全领域&#xff0c;从人员&#xff0c;机构&#xff0c;部门&#xff0c;院系&#xff0c;专…

React中的CSS——styled-components

一、认识CSS in JS 实际上&#xff0c;官方文档也有提到过CSS in JS这种方案&#xff1a; https://zh-hans.reactjs.org/docs/faq-styling.html “CSS-in-JS” 是指一种模式&#xff0c;其中 CSS 由 JavaScript 生成而不是在外部文件中定义&#xff1b;注意此功能并不是 Reac…

l380废墨收集垫已到使用寿命_湖北雨水收集系统定制

淮北海聚环保设备有限公司为您详细解读jrWVof湖北雨水收集系统定制的相关知识与详情&#xff0c; 1、三格化粪池&#xff0c;可设想为长方形或圆形。各粪池容积计较根据粪水储存时间定&#xff0c;即一般可按2&#xff1a;1&#xff1a;3计较。号池储存20天&#xff0c;2…

React脚手架学习笔记

一、前端工程的复杂化 如果我们只是开发几个小的demo程序&#xff0c;那么永远不需要考虑一些复杂的问题&#xff1a; 比如目录结构如何组织划分&#xff1b;比如如何管理文件之间的相互依赖&#xff1b;比如如何管理第三方模块的依赖&#xff1b;比如项目发布前如何压缩、打包…

access集团和abm_abm年度盛典,12月份,中国、澳大利亚、新西兰三地同时举办,abm各渠道运营商从全球各地赶来参会!...

十二月 &#xff0c;abm的各路年会分别在中国、澳大利亚、新西兰三国同时举办&#xff0c;abm各渠道运营商&#xff0c;从全球各地起来参会&#xff0c;先欣赏下abm全球年度盛典新西兰分会场中国区会场在abm中国区总部杭州举办&#xff0c;这次特别邀请了蔡康永&#xff0c;从上…

隐藏Android下的虚拟按键

隐藏Android下的虚拟按键 要隐藏Android下的虚拟按键&#xff0c;可通过如下办法操作 [cpp] view plaincopy adb root adb remount adb shell ls -al /system/build.prop (查看文件权限) -rw-r--r-- root root 4237 2015-11-19 04:34 build.prop adb …

医学影像设备学_2020考研:影像大咖告诉你,学影像,就业好,不求人。

医学学科里&#xff0c;有一门专业&#xff1a;医学影像&#xff0c;一直处于比较尴尬的地位&#xff1a;虽然是诊断医生&#xff0c;有执业医生证及大型设备上岗证&#xff0c;但是在同行眼里却是技师、拍片儿的。但是&#xff0c;最近几年医学影像专业迅速崛起&#xff0c;成…

React中添加class——借助第三方库classnames

一、vue中添加class vue中添加class是一件非常简单的事情&#xff1a; 你可以通过传入一个对象&#xff1a; 你也可以传入一个数组&#xff1a; 甚至是对象和数组混合使用&#xff1a; 二、React中添加class React在JSX给了我们开发者足够多的灵活性&#xff0c;你可以…

聊聊微服务架构

1. 微服务架构概念解析 2. 构建微服务架构&#xff1a;使用 API Gateway 3. 深入微服务架构的进程间通信 4. 服务发现的可行方案以及实践案例 5. 微服务的事件驱动数据管理 6. 选择微服务部署策略 7. 将单体应用改造为微服务 首先让我们了解为何要将微服务纳入考量。 构建单体应…

python opencv2_python opencv2 api

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里技术人对外发布原创技术内容的最大平台&…

AntDesign组件库的使用

一、AntDesign的介绍 AntDesign &#xff0c;简称 antd 是基于 Ant Design 设计体系的 React UI 组件库&#xff0c;主要用于研发企业级中后台产品。 中后台的产品 属于工具性产品&#xff0c;很多优秀的设计团队通过自身的探索和积累&#xff0c;形成了自己的设计体系。 An…

现在中国是以24枚金牌位列奖牌榜3位,美国英国分列1、2位

昨天把任务基本是完成&#xff0c;到了晚上施佳打电话过来测了&#xff0c;然后值班室的电话又是说有一个ASA952的航班没有计划&#xff0c;可是我们这里可以查到&#xff0c;可能是没有发出去&#xff0c;后来确认是FPL电报&#xff0c;这样就僵持了许久&#xff0c;可是对于补…

python进行对应分析_机器学习算法---对应分析

--------仅用于个人学习知识整理和sas/R语言/python代码整理--------该文章首发于csdn 正在迁移优化文章中1.前言对应分析&#xff0c;主要适用于有多个类别的分类变量&#xff0c;可以揭示同一个变量各个类别之间的差异&#xff0c;以及不同变量各个类别之间的对应关系(简介摘…

socket.io跨域踩坑

一、koa结合socket.io 后端代码&#xff1a; // 引入依赖 const koa require("koa"); // 初始化koa const app new koa(); // 开启 http var server require("http").createServer(app.callback()); // 初始化 socket const io require("socket…

ios 权限提示语_iOS工作室都在用按键v1.6.1(体验版)

按键精灵iOS v1.6.1(体验版)已发布到cydia新增工作室专场还支持VIP自助换绑欢迎下载使用~源地址&#xff1a;http://apt.mobileanjian.comVIP换绑方法如下&#xff1a;1、在按键精灵APP上进入“我的”分页&#xff0c;点击VIP信息&#xff0c;看到“解绑”按钮。点击后&#xf…

Redux学习(一)——Redux的使用过程

一、为什么需要redux JavaScript开发的应用程序&#xff0c;已经变得越来越复杂了&#xff1a; JavaScript需要管理的状态越来越多&#xff0c;越来越复杂&#xff1b;这些状态包括服务器返回的数据、缓存数据、用户操作产生的数据等等&#xff0c;也包括一些UI的状态&#x…

OpenCV实现图像颜色特征提取

https://github.com/ictlyh/ImageFeature 链接&#xff1a;http://pan.baidu.com/s/1mhUoPxI 密码&#xff1a;3cnn转载于:https://www.cnblogs.com/eustoma/p/5792717.html

贪吃蛇python小白_面向 python 小白的贪吃蛇游戏

代码和教程详见微信公众号&#xff1a;Python高效编程效果图图片代码和教程详见微信公众号&#xff1a;Python高效编程文字部分&#xff1a;引言作为python 小白&#xff0c;总是觉得自己要做好百分之二百的准备&#xff0c;才能开始写程序。以至于常常整天在那看各种语法教程&…

Redux学习(二)——封装connect函数

一、自定义connect函数 connect.js: import {PureComponent} from "react"; import store from "../store"; export function connect(mapStateToProps, mapDispatchToProps) {return function enhanceHOC(WrappedComponent) {return class extends PureC…