将对象添加到另一个对象

Adding Objects to another object

我正在尝试在一个对象中添加一个对象,其中 id 作为 React 提供程序中的键。以下是用例。

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 的用户,对象值将来自新用户)