1. 在constructor中繫結事件函式的this指向
把乙個函式賦值給乙個變數,然後用那個變數去執行函式會造成this的丟失,所以需要繫結this,把繫結放在建構函式中可以保證只繫結一次函式,如果放在render函式中繫結this的話每次渲染都會去繫結一次this,那樣是很耗費效能的。
2. 使用箭頭函式也就是非同步函式的方式寫setstate
setstate它是乙個非同步函式,他會合併多次修改,降低diff演算法的比對頻率。這樣也會提公升效能。
3. 虛擬dom的使用
用js物件描述dom,而不是真的去呼叫瀏覽器api生成真實dom。這樣子啊比對前的生成會極大提公升效能。
4. 同層比對
新舊狀態的比對時採用同層比對,當發現某節點不一致了直接替換該節點的子樹。而不管它的子樹是不是真的改動了。
5. key值的使用
在列表迴圈的時候react會要求每乙個列表項有乙個獨一無二,穩定的key值,它的目的是為了當狀態改變時新舊狀態的每乙個列表項能夠對應起來,方便比對。
6. shouldcomponentupdate
當父元件被重新渲染時即render函式執行時,子元件就會預設被重新渲染,但很多時候是不需要重新渲染每乙個子元件的。這時就可以使用 shouldcomponentupdate 來判斷是否真的需要重新渲染子元件。僅僅乙個判斷,就可以節約很多的消耗。
所以對於父元件發生變化而子元件不變的情況,使用shouldcomponentupdate會提公升效能。
shouldcomponentupdate(nextprops, nextstate) else
}
React 效能優化
避免重複渲染 當乙個元件的props或者state改變時,react通過比較新返回的元素和之前渲染的元素來決定是否有必要更新實際的dom。當他們不相等時,react會更新dom。在一些情況下,你的元件可以通過重寫這個生命週期函式shouldcomponentupdate來提公升速度,它是在重新渲染過...
react 效能優化
在shouldcomponentupdate 方法中判斷props和state是否改變,若未改變則無需渲染。有些情況如父元件的props或state改變了,但是子元件其實未改變,若不判斷的話會導致子元件一起被渲染。shouldcomponentupdate nextprops nextstate r...
React效能優化
一 事件的優化 1 建構函式中宣告 export default mycom extends component render fun 此中方式只會在建構函式中建立一次,效能最好,但無法傳值 2 在元件中宣告 export default mycom extends component fun 該方...