转发自:https://blog.csdn.net/qq_29854831/article/details/79657718

  React.PureComponent 与 React.Component 几乎完全相同,但 React.PureComponent 通过prop和state的浅对比来实现 shouldComponentUpate()。

  如果React组件的 render() 函数在给定相同的props和state下渲染为相同的结果,在某些场景下你可以使用 React.PureComponent 来提升性能。

  React.PureComponent 的 shouldComponentUpdate() 只会对对象进行浅对比。如果对象包含复杂的数据结构,它可能会因深层的数据不一致而产生错误的否定判断(表现为对象深层的数据已改变视图却没有更新, 原文:false-negatives)。当你期望只拥有简单的props和state时,才去继承 PureComponent ,或者在你知道深层的数据结构已经发生改变时使用 forceUpate() 。或者,考虑使用 不可变对象 来促进嵌套数据的快速比较。

  此外,React.PureComponent 的 shouldComponentUpate() 会忽略整个组件的子级。请确保所有的子级组件也是”Pure”的。

转载于:https://www.cnblogs.com/dadouF4/p/10522659.html

React.Component与React.PureComponent的区别相关推荐

  1. React Component vs React Element

    React Component vs React Element 有这样的一个问题: // 方法定义 function add(x, y) {return x + y }// 方法调用 add(1, ...

  2. React Native之(var和let区别 )(简单解构)(map对象遍历)(可变顺序参数和不可以变顺序参数函数)

    1 var和let区别 let左右范围在块里面,var定义的变量可提升,用let声明的变量不可以声明2次 2 简单解构 let [a, b, c] = [1, 2, 3]; 3  map对象遍历 co ...

  3. 【重点】React.Component用法

    组件(Components)允许您将UI拆分为独立的可重用的部分,并单独的考虑每个部分. 总览 React.Component是一个抽象基类.这意味着直接引用React.Component是毫无意义的 ...

  4. [译]React Component最佳实践

    原文:Our Best Practices for Writing React Components . 这里意译.有些点在之前的文章里提到过:#2 译文地址:https://github.com/Y ...

  5. 六、React(Component)

    文章目录 前言 一.component基础 二.Component的组合运用 总结 前言 本文介绍react的重中之重,react的组件.组件是react的核心所在,第一部分先介绍组件的基础内容,并且 ...

  6. React的React.FC与React.Component的初步认识

    React 的组件可以定义为 函数(React.FC<>)或class(继承 React.Component) 的形式. 一.React.FC<> 1.React.FC是函数式 ...

  7. React的React.FC与React.Component

    React的组件可定义为函数(React.FC<>)或class(继承React.Componnent)的形式 ###React.FC<> 1.React.FC是函数式组件 是 ...

  8. 从零开始React:一档 React环境搭建,语法规则,基础使用

    手挽手带你学React入门第一期,带你熟悉React的语法规则,消除对JSX的恐惧感,由于现在开发中都是使用ES6语法开发React,所以这次也使用ES6的模式进行教学,如果大家对ES6不熟悉的话,先 ...

  9. 16、React系列之 React 路由

    版权声明:本文为博主原创文章,未经博主允许不得转载. PS:转载请注明出处 作者:TigerChain 地址:http://www.jianshu.com/p/b55cf53e633a 本文出自 Ti ...

最新文章

  1. 一个比传统数据库快 100-1000 倍的数据库
  2. Day6 Pyhton基础之文件操作(五)
  3. mysql 导出用户权限_MySQL中导出用户权限设置的脚本分享
  4. Atitit usrQBK1600 技术文档的规范标准化解决方案
  5. 2015 年出现的十大流行 Python 库
  6. smarty基本语法之判断,循环语句
  7. 如何切底卸载Oracle
  8. 安装squid_CVE-2019-12527:Squid缓冲区溢出漏洞利用分析
  9. 烤箱定时器不走怎么办_走夜路害怕怎么办?带上这6大辟邪文玩在也不害怕
  10. 微信小程序源码分享合集-1
  11. VC网络编程(Socket)项目化视频教程
  12. linux系统安装firefox的flash player插件
  13. pytorch训练时前一次迭代的loss正常后一次迭代却报nan
  14. 计算机学院迎接新生标语,大学迎接新生横幅标语:好巧我们见面了
  15. linux将某个文件夹打包为zip文件
  16. win10中文输入法添加“美式键盘”布局
  17. 第2节 部署虚拟机及常用系统配置
  18. sql server 计算坐标点距离函数
  19. 2004.8.18日--全国3D第一期
  20. C语言疑难点汇总解析

热门文章

  1. URI,URL与URN的区别
  2. ASP.NET入门教程:服务器控件
  3. 一键搞定数码照片印前特效-【用可牛影像】
  4. 使用FSO修改文件夹的名称
  5. GridView控件 72变(一)
  6. 新视角:用图像分类来建模文字识别也可以SOTA
  7. ECCV 2020 论文大盘点-视频目标检测篇
  8. 微软开源计算机视觉专题库,含分类、检测、分割、关键点、跟踪、动作识别等主流方向...
  9. 讲述一个自学七年Python编程的码农人生
  10. 美术零基础转行做游戏美术3D,如何快速入行?