React PureRenderMixin
PureRenderMixin
如果您的 React 元件的 render
函式非常單純(相對來說,就只是單純想把 props 和 state 輸出),您就可以使用 PureRenderMixin
來提升效能:
1 | var PureRenderMixin = require('react').addons.PureRenderMixin; |
內部的 mixin 幫您實作了 shouldComponentUpdate
,他會幫您比對 props
與 state
,只要一樣就回傳 false
。
協助您快速提升一些效能:
1 | /** |
注意:
關於比對方面,React 只為您執行淺層的比對。意思是如果您的資料結構非常複雜可能 shouldComponentUpdate() 可能永遠判斷兩個物件為 true,因為他只做淺層比對,有可能是只比較參考。
所以建議您使用單純屬性和狀態或使用強制更新forceUpdate()
當你知道這個資料結構太複雜的時候。
此外,shouldComponentUpdate
會略過子元件的更新,所以請確保所有的東西是真的很單純!
React PureRenderMixin
https://andyyou.github.io/2014/09/18/reactjs-purerendermixin/