React 中的 ComponentPureComponent无状态组件 之间的比较

Posted cag2050

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了React 中的 ComponentPureComponent无状态组件 之间的比较相关的知识,希望对你有一定的参考价值。

  • React 中的 Component、PureComponent、无状态组件之间的比较
组件类型 说明
React.createClass 不使用ES6语法,只能使用 React.createClass 来创建组件;React对属性中的所有函数都进行了this绑定
Component 使用ES6语法创建组件;React并没有对内部的函数,进行this绑定
PureComponent shouldComponentUpdate通过判断props和state是否发生变化来决定需不需要重新渲染组件,当然有时候这种简单的判断,显得有些多余和样板化,于是React就提供了PureComponent来自动帮我们做这件事,这样就不需要手动来写shouldComponentUpdate了。注意:PureComponent 自动为我们添加的shouldComponentUpate函数,只是对props和state进行浅比较;最简单避免上述情况的方式,就是避免使用可变对象作为props和state,取而代之的是每次返回一个全新的对象;也可以考虑使用Immutable.js来创建不可变对象,通过它来简化对象比较,提高性能。
无状态组件 无state,只有props。

以上是关于React 中的 ComponentPureComponent无状态组件 之间的比较的主要内容,如果未能解决你的问题,请参考以下文章

React 深入系列1:React 中的元素组件实例和节点

React开发(214):React中的Fragments

将 Relay 中的数据与 React Native 中的 react-navigation 一起使用时,未获取 Relay 中的数据

浅析react中的react-router和react-router-dom

深入理解react中的虚拟DOMdiff算法

深入理解react中的虚拟DOMdiff算法