为包含其他对象的id数组的对象编写Redux Actions和Reducers

时间:2017-10-05 11:59:10

标签: javascript redux react-redux

我刚刚开始使用Redux / Reactjs,我正在编写一个包含服务器上usergroup个对象的Web应用程序:

// example user
user = {
  name: 'joe bloggs',
  age: 30
};

// example group
group = {
  title: 'Main Group',
  members: [userid1, userid2...useridn]
};

我有一个基本的usergroup缩减器,我正在尝试编写一个action来从服务器获取group数据并列出所有成员。 members字段是一个映射到特定user的id数组。

如何构建actionsreducers来获取group之类的对象,以便反应组件可以显示它们?我的反应组件是否需要调用groupuser操作来获取成员数组中每个group后面的user?这似乎是大多数Web应用程序中的常见模式,但我找不到redux示例。任何帮助或指向现有代码的指针都非常感谢。

1 个答案:

答案 0 :(得分:1)

我会做以下事情:

  1. 为您的用户添加唯一ID。
  2. membersgroups制作一系列ID。
  3. 更改反应组件,使其接收成员和组。
  4. 使用react-redux连接器时,您可以执行以下操作:

    groups: state.groups.map((group) => ({...group, members: group.members.map((id) => state.user[id])})),
    

    因此组件将接收带有users数组的组,而不是它们的ID。