簡體   English   中英

react-native(mobX):如何向現有對象添加新對象

[英]react-native(mobX) : How to add a new object to existing object

我試圖將一個new object添加到現有object

在我的mobx Store我有一個包含one user的現有對象:

@observable user = {
    id: 101,
    email: 'kevin@dev.com',
    personalInfo: {
        name: 'kevin',
        address: {
            city: 'Costa Mesa',
            state: 'CA'
        }
    }
}

我想向現有對象添加另一個用戶:

id: 102,
    email: 'john@dev.com',
    personalInfo: {
        name: 'john',
        address: {
            city: 'New York',
            state: 'NY'
        }

    }

我希望我的最終代碼如下所示:

@observable user = {
    id: 101,
    email: 'kevin@dev.com',
    personalInfo: {
        name: 'kevin',
        address: {
            city: 'Costa Mesa',
            state: 'CA'
        }
    },
    id: 102,
    email: 'john@dev.com',
    personalInfo: {
        name: 'john',
        address: {
            city: 'New York',
            state: 'NY'
        }
    }
}

將另一個對象添加到現有對象的正確格式是什么?

這行得通嗎?

updateObjectState (){

const user2 = {
  id: 102,
  email: 'john@dev.com',
  personalInfo: {
      name: 'john',
      address: {
          city: 'New York',
          state: 'NY'
      }
  }
}
  store.pressedDate = [...store.pressedDate, user2] 
}

提前致謝!

無法獲得理想的結果,因為重復了id,所以它將覆蓋最后一個id,將每個用戶包裝在object中或使用數組

使用id作為鍵並放置值,要添加新用戶時,只需在用戶上創建一個新的鍵值對

@observable user = {
    '101':{
           id: 101,
           email: 'kevin@dev.com',
           personalInfo: {
           name: 'kevin',
           address: {
             city: 'Costa Mesa',
             state: 'CA'
           }
      }
   }
}

或者將用戶作為數組添加新用戶,只需在用戶中推送值

@observable user = [{
    id: 101,
    email: 'kevin@dev.com',
    personalInfo: {
        name: 'kevin',
        address: {
            city: 'Costa Mesa',
            state: 'CA'
        }
    }
}]

PS-我不確定您如何使用數據,但我會采用對象方式,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM