React中setState如何修改深層物件?

2022-06-28 17:06:14 字數 725 閱讀 5897

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

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

| 方案 | 適用範圍 | 缺點

| :-: | :-: | :-: |

| 方案一 |多層級和單一層級都存在 | 寫法麻煩,單次物件賦值,物件層級多的時候,容易遺漏

| 方案二 |只適用與第一層級 | 只適用第一層級

| 方案三 |多層級和單一層級都存在 | 若存在深層及和單一層級的,需要多次賦值

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

react中state與setstate的使用

我們可以利用state來定義一些變數的初始值 放在construcor裡 this.state 要更改state裡的值,注意要遵循react裡immutable規範,state不允許我們做任何改變,只能通過setstate來更改 const list this state.list list.spl...

React中setState為非同步機制

setstate用來更改state,並觸發render方法重新渲染頁面,這之間要經過react核心中diff演演算法比較dom樹,最終決定是否需要被渲染如何渲染。如何在第一時間獲取並應用setstate的值,set完第一時間呼叫方法即可獲取 如 this.setstate nowstate 便利 1...

React中setState修改深層物件

在react中經常會使用到setstate,因為在react生態中,state就是一切.在開發過程中,時長會在state中遇到一些比較複雜的資料結構,類似下面這樣的 state objb objc objd d 這時需要我們修改list中obja中的name屬性和objd的屬性,遇到這樣的情況我們一...