更改數據的兩種方式:
1、直接更改變量;
2、建立所需修改變量的副本,進行修改后替換原數據。
不直接改變數據的好處
1、可以幫助我們增強組件和整體應用性能。
2、更簡單的撤消/重做和步驟重現
3、不可變數據(Immutability)還使一些復雜的功能更容易實現。避免數據改變,使我們能夠保留對舊數據的引用,如果我們需要在它們之間切換。
4、追蹤變更(Tracking Changes)
確定可變對象是否已更改是復雜的,因為直接對對象進行更改。這樣就需要將當前對象與先前的副本進行比較,遍歷整個對象樹,并比較每個變量和值。這個過程可能變得越來越復雜。確定不可變對象如何改變是非常容易的。如果被引用的對象與之前不同,那么對象已經改變了。僅此而已。
5、確定何時重新渲染(Determining When to Re-render in React)
React 中不可變數據最大好處在于當您構建簡單的 純(pure)組件 時。由于不可變數據可以更容易地確定是否已經進行了更改,這也有助于確定組件何時需要重新渲染。
與shouldComponentUpdate()
相關。
數據的復制
數組
1、slice()方法可以返回一個數據的副本