微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将对象添加到另一个对象

如何解决将对象添加到另一个对象

我正在尝试在反应提供程序中以 id 作为键的对象中添加对象。以下是用例。

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

我可以成功地将成员添加到数组中,但我更愿意将其添加homeTeamClone 对象中。

对象示例 = {"id":"3a21b0a-1223-46-5abe-67b653be5704","memberName":"Adam"}

我想要最终结果

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"},}

我尝试了 Object.assign(homeTeamClone,member) 但没有得到预期的结果。

提前致谢。

解决方法

如果问题是如何设置个人成员,您可以这样做:

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

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

在这种情况下,传播所有旧值并添加新值。 (如果再次添加相同 ID 的用户,对象值将来自新用户)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。