如果我定义一个PureComponent
- 只有
render()
方法,并且 - 不使用
this.state
,
。它是否与无状态功能组件有效相同?还是行为或表现有任何差异?
这不是 React 函数无状态组件、PureComponent、组件的副本;有什么区别,我们什么时候应该使用什么?因为我问题的答案不包含在那里,至少不是以一种容易确定的方式。这是一个大而广泛的问题,我的问题非常具体。
无状态功能组件实际上与没有生命周期方法和状态的React.Component
相同,而不是React.PureComponent
。
React.PureComponent
的全部意义在于使用生命周期方法之一(shouldComponentUpdate
),并使其仅在属性和状态发生更改时才返回true
,使用浅层比较。
在无状态功能组件中没有办法做到这一点,因为它们总是被渲染并且无法定义shouldComponentUpdate
。
优化性能中详细介绍了此行为。