函数组件

函数组件任何情况下都会重新渲染。它并没有生命周期,但官方提供了一种方式优化手段,那就是 React. Memo。

更新情况

如果不实现 shouldComponentUpdate 函数,那么有两种情况触发重新渲染。

  • 当 state 发生变化时。这个很好理解,是常见的情况。
  • 当父级组件的 Props 传入时。无论 Props 有没有变化,只要传入就会引发重新渲染。

高阶组件

高阶组件在函数组件中的运用

参考资料

一篇非常棒的对比文章,这篇文章很长,但是通篇都在论证这一句话:

函数组件会捕获 render 内部的状态,这是两类组件最大的不同。 > 函数组件更加契合 React 框架的设计理念
UI = render (data)