状态是纯组件和无状态功能组件之间的唯一区别吗?



如果我定义一个PureComponent

  • 只有render()方法,并且
  • 不使用this.state

。它是否与无状态功能组件有效相同?还是行为或表现有任何差异?

这不是 React 函数无状态组件、PureComponent、组件的副本;有什么区别,我们什么时候应该使用什么?因为我问题的答案不包含在那里,至少不是以一种容易确定的方式。这是一个大而广泛的问题,我的问题非常具体。

无状态功能组件实际上与没有生命周期方法和状态的React.Component相同,而不是React.PureComponent

React.PureComponent的全部意义在于使用生命周期方法之一(shouldComponentUpdate),并使其仅在属性和状态发生更改时才返回true,使用浅层比较。

在无状态功能组件中没有办法做到这一点,因为它们总是被渲染并且无法定义shouldComponentUpdate

优化性能中详细介绍了此行为。

最新更新