Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 应将React.PureComponent用于频繁更新的组件吗?_Performance_Reactjs_Flux - Fatal编程技术网

Performance 应将React.PureComponent用于频繁更新的组件吗?

Performance 应将React.PureComponent用于频繁更新的组件吗?,performance,reactjs,flux,Performance,Reactjs,Flux,如果由于道具更改,组件需要每秒渲染几次,该组件是否应该扩展React.PureComponent 组件没有子组件,但是,它本身嵌套得很深。。。因此,道具会穿过其他几个部件 一般来说,在决定是否使用反应元件时,需要考虑哪些关键事项。在哪些情况下使用不好 是的,这听起来像是PureComponent的一个好例子,因为您的组件不必要地频繁地使用相同的道具重新渲染 从React.component扩展的子组件将在其父组件每次调用render时调用render。相反,如果子组件是从PureComponen

如果由于道具更改,组件需要每秒渲染几次,该组件是否应该扩展React.PureComponent

组件没有子组件,但是,它本身嵌套得很深。。。因此,道具会穿过其他几个部件


一般来说,在决定是否使用反应元件时,需要考虑哪些关键事项。在哪些情况下使用不好

是的,这听起来像是PureComponent的一个好例子,因为您的组件不必要地频繁地使用相同的道具重新渲染

从React.component扩展的子组件将在其父组件每次调用
render
时调用
render
。相反,如果子组件是从PureComponent扩展而来的,则当父组件传递的道具与先前传递的道具不相等时,它将只调用
render

使用PureComponent通常是安全的,只要

  • 您的组件及其子组件不依赖于
    上下文
    更新
  • 您的组件没有由其父组件直接变异的对象或数组道具(
    shallowEqual
    不会检测到这些更改)

是的,这听起来像是PureComponent的一个好例子,因为您的组件不必要地频繁地使用相同的道具重新渲染

从React.component扩展的子组件将在其父组件每次调用
render
时调用
render
。相反,如果子组件是从PureComponent扩展而来的,则当父组件传递的道具与先前传递的道具不相等时,它将只调用
render

使用PureComponent通常是安全的,只要

  • 您的组件及其子组件不依赖于
    上下文
    更新
  • 您的组件没有由其父组件直接变异的对象或数组道具(
    shallowEqual
    不会检测到这些更改)

谢谢,但我的意思是道具每秒有好几次不同的值。。。。如果渲染函数真的很简单,那么PureComponent是否值得一秒钟检查这么多次呢。此外,页面上还有数百个这些组件,所有这些组件都会随频率变化。
shallowEqual
的性能成本非常低,尤其是与
render
相比,后者必须创建新元素并触发阴影DOM比较。如果您的所有组件实例几乎100%都获得不同的道具,那么请确保
PureComponent
对性能的影响较小。但除此之外,这可能是一个净收益。谢谢,但我的意思是道具每秒有好几次不同的值。。。。如果渲染函数真的很简单,那么PureComponent是否值得一秒钟检查这么多次呢。此外,页面上还有数百个这些组件,所有这些组件都会随频率变化。
shallowEqual
的性能成本非常低,尤其是与
render
相比,后者必须创建新元素并触发阴影DOM比较。如果您的所有组件实例几乎100%都获得不同的道具,那么请确保
PureComponent
对性能的影响较小。但除此之外,这可能是一个净收益。