①:React.createClass
不想使用ES6语法来创建组件,就需要通过React.createClass来创建,它自动为内部函数绑定了this;
②:React.Component
ES6语法创建组件,它并没有自动为内部的函数绑定this,也并为自动实现shouldComponentUpdate,我们可以自定义该函数内的内容。
③:React.PureComponent
它的创建是自动实现了shouldComponentUpdate的,该生命周期实现的是浅层比较,也就是只对props和state进行浅层比较。
④:无状态函数
前面3种都是有React的state和各种生命周期的,无状态函数这种是不包含state和生命周期的,只有props。
但是根据React16.8新增特性HooK,无状态函数也是可以使用useState函数来使用state,通过useEffects等函数来调用组件的生命周期的。具体使用方式这里不赘述,可以看react官网。
网友评论