React.PureComponent应该用于经常更新的组件吗?

时间:2017-02-10 08:59:43

标签: performance reactjs flux

如果一个组件因为prop更改需要每秒渲染几次,那么该组件是否应该扩展React.PureComponent?

该组件没有子组件,但是它本身已经深层嵌套......所以道具正在穿过其他几个组件。

通常,在决定是否应该使用React.PureComponent时,需要考虑哪些关键事项。在哪些情况下使用不好?

1 个答案:

答案 0 :(得分:0)

是的,这听起来像PureComponent的一个好例子,因为你的组件不必经常使用相同的道具重新渲染。

从React.Component扩展的子组件每次调用render时都会调用render。如果相反,子组件是从PureComponent扩展的,那么当父组件通过不render之前传递的道具的道具时,它只会调用shallowEqual

只要

,使用PureComponent通常是安全的
  • 您的组件及其子组件不依赖于context更新
  • 您的组件没有由其父级直接变异的对象或数组道具(shallowEqual将不会检测到这些更改)