gpt4 book ai didi

performance - 了解 React 渲染

转载 作者:行者123 更新时间:2023-12-03 14:28:29 25 4
gpt4 key购买 nike

似乎 React 组件在其父组件渲染时总是运行其 render 方法,即使子组件没有状态或 props 更改,即使子组件没有状态或 props。

应该是这样吗?这其中有效率低下的地方吗?将子组件切换为 PureComponent 可以解决此问题,并且子组件将不会重新渲染。我应该选择 PureComponents 而不是常规组件吗?

最佳答案

如果您想控制组件重新渲染的原因,那么您应该使用 shouldComponentUpdate ,它可以在所有 React 组件上使用,除非它们是无状态功能组件。 PureComponent 基本上自动使用 shouldComponentUpdate 并对过去和当前的 props/state 进行浅层检查,如果有更改,它将重新渲染。

有时您可能正在处理更复杂的数据结构,并希望自己控制 shouldComponentUpdate ,在这种情况下,只需遵循此处的生命周期方法说明即可。

https://facebook.github.io/react/docs/react-component.html#shouldcomponentupdate

这也是 PureComponent 的信息

https://facebook.github.io/react/docs/react-api.html#react.purecomponent

关于performance - 了解 React 渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41681045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com