我正在尝试将新对象
添加到现有对象
。
在我的 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/