反应上下文:何时重新渲染儿童?

反应上下文:何时重新渲染儿童?,第1张

反应上下文:何时重新渲染儿童?

3)导致提供者及其所有后代重新渲染

尽管这是默认行为,但在实践中通常会更改此行为以提高性能。纯组件,实现shouldComponentUpdate的组件或使用React.memo的组件将导致重新渲染在遍历整个树之前停止。

例如:假设存在一个处于某种状态的顶层组件,该组件呈现一个具有的中层组件

shouldComponentUpdate() { return false;}
,该组件具有一个呈现底层状态的组件。在初始安装时,所有这三个都将渲染。但是,如果顶级组件更新其状态,则仅顶级组件将重新呈现。中级组件由于其shouldComponentUpdate而将被跳过,因此甚至从不考虑底层组件。

现在,我们在顶级组件中添加上下文提供程序,并在底层组件中添加上下文使用者。在初始安装时,它们将再次全部渲染。如果顶级组件更新其状态,它将重新呈现。由于其shouldComponentUpdate,中级组件仍将跳过其渲染。但是,只要上下文值发生变化,即使上级组件被保释,底层组件也将重新呈现。这就是该Blur所引用的功能。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5016252.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存