官方阵营文档状态“ React.PureComponent的shouldComponentUpdate()只有比较浅的对象”,并建议针对这一点,如果状态是‘深’。
React.PureComponent
shouldComponentUpdate()
鉴于此,React.PureComponent在创建React组件时,为什么会有人偏爱它?
问题 :
React.Component
PureComponent
如果有帮助的话,阅读该媒体博客会引起疑问。
React.PureComponent和之间的主要区别React.Component是对状态变化 进行PureComponent了 较浅的比较 。这意味着在比较标量值时会比较它们的值,但是在比较对象时只比较引用。它有助于提高应用程序的性能。
您React.PureComponent可以满足以下任何条件。
forceUpdate
如果您正在使用React.PureComponent,则应确保所有子组件也都是纯组件。
我们可以考虑将React.PureComponent用作React.component会对性能产生任何影响?
是的,它将提高您的应用程序性能(由于比较浅)
我猜Purecomponent的shouldComponentUpdate()仅执行浅表比较。如果是这种情况,该方法不能用于更深入的比较吗?
您猜对了。如果您满足我上面提到的任何条件,则可以使用它。
“此外,React.PureComponent的shouldComponentUpdate()会跳过整个组件子树的属性更新”-这是否意味着属性更改会被忽略?
是的,如果在浅层比较中找不到区别,则道具更改将被忽略。