調用setState後未重新執行 render?

情況一

shouldComponentUpdate(object nextProps,object nextState),每個組件都有這個方法,它負責確定“應該組件更新(運行渲染函數)?” 每次更改狀態或從父組件傳遞新的道具時

您可以爲組件編寫自己的shouldComponentUpdate方法實現,但默認實現始終返回true —— 意味着始終重新運行render函數。

從官方文檔引用http://facebook.github.io/react/docs/component-specs.html#updating-shouldcomponentupdate

默認情況下,shouldComponentUpdate始終返回true以防止在狀態發生變異時出現細微錯誤,但是如果您小心始終將狀態視爲不可變並且只讀取render()中的props和state,那麼您可以使用實現覆蓋shouldComponentUpdate將舊的道具和州與他們的替代品進行比較。

 情況二

PureComponent的擴展,它已經在shouldComponentUpdate內部實現了一個方法,用於淺層比較。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章