类组件
类组件,顾名思义,也就是通过使用ES6
类的编写形式去编写组件,该类必须继承React.Component
如果想要访问父组件传递过来的参数,可通过this.props
的方式去访问
在组件中必须实现render
方法,在return
中返回React
对象
函数组件
函数组件,顾名思义,就是通过函数编写的形式去实现一个React
组件,是React
中定义组件最简单的方式函数第一个参数为props
用于接收父组件传递过来的参数
区别
针对两种React
组件,其区别主要分成以下几大方向:
-
class组件是有状态的组件,可以定义state状态。函数组件是无状态的。
-
class组件有生命周期。函数组件没有生命周期,函数组件使用的是Hooks。
-
class组件是有this对象的。函数组件没有this对象。
-
组件调用:class组件实例化后调用render方式调用。函数组件是直接调用的。
-
class组件内部render方法return返回渲染jsx模板。函数组件直接返回即可。
-
ref获取子组件的对象。class组件可以直接获取到,函数组件无法直接获取到。
-
绑定bind改变this指向,只适用于class组件。