[英]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.