Skip to content

Latest commit

 

History

History
22 lines (17 loc) · 1.01 KB

react_basic_3.md

File metadata and controls

22 lines (17 loc) · 1.01 KB

react 组件基础

4. 类组件和函数组件的区别?

共同点:

  • 类组件和函数组件在呈现方式上都是一样的,都是返回要在页面中显然的React元素。
  • 两者可以相互改写,可以把类组件改写成函数组件,也可以把函数组件改写成类组件。

不同点:

代表的思想不同
  • 类组件是OOP(面向对象编程),有继承,有属性。
  • 函数组件是FP(函数式编程)及 view = fn(props),输入与输出有某种特定的映射关系。
场景不同
  • 类组件通过生命周期来包装业务逻辑,可以实现继承。
  • 函数组件主打的是确定性,没有副作用,采用组合的方式来包装业务。
趋势不同
  • 类组件由于继承灵活性不高,同时屏蔽细节过多(this的模糊性,业务逻辑散落在各个生命周期中),所以官方更推荐“组合优于继承”的设计理念。
  • 由于React Hooks的推出,函数组件不需要在函数组件可以完全取代类组件。