提问者:小点点

反应本地PureComponent和应该组件更新


我需要知道当使用PureComponent时,浅比较的含义是什么。事实上,我读了一些文章,但我不明白其中的含义,所以请简化它。

另一个问题是,我们什么时候可以使用PureComponent,什么时候应该使用shouldComponentUpdate?


共1个答案

匿名用户

关于浅比较您可以查看此答案

https://stackoverflow.com/questions/36084515/how-does-shallow-compare-work-in-react#:~:text=浅比较是一种有效的方法,您不需要改变数据。

关于[https://en.reactjs.org/docs/react-component.html#shouldcomponentupdate]

如果组件的输出不受当前状态或道具更改的影响,请使用应该组件更新()让React知道。默认行为是在每次状态更改时重新渲染,在绝大多数情况下,您应该依赖默认行为。

基本上,组件将在每次状态更改时重新渲染,如果要阻止它,可以使用shouldComponentUpdate()

关于PureComponent[https://blog.logrocket.com/pure-functional-components-in-react-16-6/]

如果React组件为相同的状态和道具呈现相同的输出,则可以认为它是纯的。对于这样的类组件,React提供PureComponent基类。为扩展React的组件初始化。PureComponent类被视为纯组件。

我强烈建议你阅读关于React Hooks[https://en.reactjs.org/docs/hooks-intro.html]拥有PureComponents并控制何时以及如何重新渲染变得很容易。

问候。