javascript - react native (mobX): How to add a new object to existing object

标签 javascript reactjs react-native mobx

我正在尝试将新对象添加到现有对象

在我的 mobx Store 中,我有一个包含一个用户的现有对象:

@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,将每个用户包装在对象中或使用数组

使用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'
        }
    }
}]

P.S - 我不确定你如何使用数据,但我会使用对象方式,

关于javascript - react native (mobX): How to add a new object to existing object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56616923/

相关文章:

react-native - React Native,使用纵向模式检测屏幕旋转变化

javascript - 对 ng-table 中的行进行排序而不对组进行排序

javascript - 如何使用自定义绑定(bind)更新/过滤底层可观察值?

javascript - 如何在没有事件的情况下调用 jQuery 函数

node.js - NextJS在next.config.js文件中定义后重定向不重定向url

reactjs - Flatpickr 在没有选择时选择今天的关闭日期

javascript - 如何根据选择标记中的值打印项目符号列表

reactjs - 类型错误 : Cannot read property 'map' of undefined (nextjs)

javascript - react native : Can't import and use external packages

来自服务器的 Javascript 长整数不准确