类组件和函数式组件的区别

2023-02-07 09:50:21
###1.语法上,函数组件是function XXX(),是接收props并返回react元素,类组件是Class XXX extends Component,是创建render并返回react元素 ###2.this:类组件有this,可以获取实例化的this,并且基于this做各种操作,函数组件没有 ###3.生命周期:类组件有生命周期,函数组件没有,因为所有的生命周期都来自于继承的React.Component ###4.状态管理:类组件有状态state,函数组件没有,hook函数为组件提供了状态,函数组件是一个纯函数,如果需要使用state,可以创建一个类组件,或者将state提升到父组件中,通过props传递到子组件中 ###4.调用方法:函数式组件可以直接调用,并返回一个新的React元素,类组件在调用时需要创建一个实例,通过实例里的render方法来返回一个React元素