我需要知道当使用PureComponent时,浅比较的含义是什么。事实上,我读了一些文章,但我不明白其中的含义,所以请简化它。
另一个问题是,我们什么时候可以使用PureComponent,什么时候应该使用shouldComponentUpdate?
关于浅比较
您可以查看此答案
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并控制何时以及如何重新渲染变得很容易。
问候。