簡體   English   中英

this.forceUpdate是否會重新呈現所有子級?

[英]Does this.forceUpdate rerender all children?

這些文檔對forceUpdate有以下說法:

調用forceUpdate()將導致在組件上調用render(),而跳過shouldComponentUpdate()。 這將觸發子組件的正常生命周期方法,包括每個子組件的shouldComponentUpdate()方法。 如果標記發生更改,React仍然只會更新DOM。

https://reactjs.org/docs/react-component.html#forceupdate

這是否意味着該組件的子代也調用了其render函數?

它將“重新渲染”在其shouldComponentUpdate方法內部未返回false的每個子代,但是請注意, re-rendering !== re-drawing ,只會導致React的差異算法運行。

而且,如果差異算法發現虛擬DOM的當前版本與虛擬DOM的先前版本相比有所不同,則UI的特定“更改”部分將重新顯示在屏幕上。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM