简体   繁体   English

将对象添加到另一个 object

[英]Adding Objects to another object

I'm trying to add object inside an object with id as a key in react provider.我正在尝试在 object 中添加 object ,其中 id 作为反应提供者的键。 Following is the use case.以下是用例。

const [memberList, setMemberList] = useState({
  homeTeam: [],
  awayTeam: [],
  homeTeamClone: {},
});

I can successfully add member to an array, however I'm more keen to add that in homeTeamClone object.我可以成功地将成员添加到数组中,但是我更热衷于将其添加到homeTeamClone object 中。

example of object = {"id":"3a21b0a-1223-46-5abe-67b653be5704","memberName":"Adam"} object = {"id":"3a21b0a-1223-46-5abe-67b653be5704","memberName":"Adam"} 的示例

I want final result as我希望最终结果为

homeTeamClone: {
  "3a21b0a-1223-46-5abe-67b653be5704": {"id":"3a21b0a-1223-46-5abe-67b653be5704","memberName":"Adam"},
  "3a21b0a-1223-46-5abe-67b653be5705": {"id":"3a21b0a-1223-46-5abe-67b653be5705","memberName":"Chris"},
  "3a21b0a-1223-46-5abe-67b653be5706": {"id":"3a21b0a-1223-46-5abe-67b653be5706","memberName":"Martin"},
}

I tried Object.assign(homeTeamClone, member) but did not get the expected result.我试过Object.assign(homeTeamClone, member)但没有得到预期的结果。

Thanks in Advance.提前致谢。

If the question is how to set individual member than you can do this:如果问题是如何设置单个成员,那么您可以这样做:

const member = { id: '3a21b0a-1223-46-5abe-67b653be5704', memberName: 'Adam' };

setMemberList({
  ...memberList,
  homeTeamClone: {
    ...memberList.homeTeamClone,
    [member.id]: member,
  },
});

In this case spread all old values and add new one.在这种情况下,传播所有旧值并添加新值。 (In case user with same ID is added again, object value will be from the new one) (如果再次添加相同ID的用户,object值将来自新用户)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM