React中setState如何修改深層對象?


在React中經常會使用到setState,因為在react生態中,state就是一切.在開發過程中,時長會在state中遇到一些比較復雜的數據結構,類似下面這樣的:

 

 

這時需要我們修改listobjA中的name屬性和objD的屬性,遇到這樣的情況我們一般會使用什么辦法解決呢?其實有三種解決方案:

方案一(作用於對象中的深層級和第一層級)

 

 

方案二(作用對象中的第一層級):

 

 

方案三(作用於對象中的深層級和第一層級):

 

 

總結:

| 方案 | 適用范圍 | 缺點
| :-: | :-: | :-: |
| 方案一 |多層級和單一層級都存在 | 寫法麻煩,單次對象賦值,對象層級多的時候,容易遺漏
| 方案二 |只適用與第一層級 | 只適用第一層級
| 方案三 |多層級和單一層級都存在 | 若存在深層及和單一層級的,需要多次賦值

這三種寫法都可以,使用哪一種方案,還需要根據業務來定。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM