react组件发展方向

53 阅读1分钟

class组件缺点:

  • 大型组件很难拆分和重构,也很难测试。
  • 业务逻辑分散在组件的各个方法之中,导致重复逻辑或关联逻辑。
  • 组件类引入了复杂的编程模式,比如 render props 和高阶组件。

function组件 vs class组件:

function逻辑聚合,class逻辑分散
function逻辑复用简单,而class组件逻辑复用复杂
function组件每次渲染都会有独立props/state,而class组件总是会通过this拿到最新的props/state

组件的方向:

组件不要变成复杂的容器,最好只是数据流的管道。开发者根据需要,组合管道即可。朝着函数响应式编程发展
  • 响应式编程:面向数据流和变化传播的编程范式
    •   面向数据流
      
    •   异步编程
      
    •   变化传播:一个数据流的输入,经过变化传播,转换成另外一个数据,分发给订阅者的过程
      
  • 函数式编程:把计算机运算看做数学的函数运算,计算过程分解成多个复用的函数,面向过程的程序设计,