0
我有一个减速这是适当的Redux的状态(假设allpeople-reducer.js)在我的终极版是resposible为下篇状态分组项目时一起
{
1:{id:1, first_name: "Tony", last_name: "Stark", gender: "Male"}
2:{id:2,first_name: "Wonder", last_name: "Woman", gender: "Female"}
3:{id:3,first_name: "Bruce", last_name: "Wayne", gender: "Male"}
4:{id:4,first_name: "Thor", last_name: "Ragnarok", gender: "Male"}
5:{id:5,first_name: "Bruce", last_name: "Banner", gender: "Male"}
6:{id:6,first_name: "Aqua", last_name: "Man", gender: "Male"}
7:{id:7,first_name: "Bat", last_name: "Girl", gender: "Female"}
8:{id:8,first_name: "Me", last_name: "Mario", gender: "MALE"}
}
的正如你可以看到我已经将数组转换为ID为数组的对象作为我的键。用户然后可以选择用户界面中的人员并从上面的人员列表中建立一些组。我现在必须包括每个人的组号。所以我可以将上述状态转换为以下状态
{
1:{id:1, first_name: "Tony", last_name: "Stark", gender: "Male", group: 1}
2:{id:2,first_name: "Wonder", last_name: "Woman", gender: "Female", group:2}
3:{id:3,first_name: "Bruce", last_name: "Wayne", gender: "Male", group:3}
4:{}......
}
我的意图是使用反应组件将属于同一组的人展示出来。因此,如果我有三个组,我将显示三个组件,它们使用react-redux将每个组中的所有人聚集在一起。请让我知道,如果我有这个权利。
你应该始终保持你的状态干净,在这种情况下,你应该把所有的人在一起的意思,而是用一个选择让人们你想根据小组ID –
嗨,Arber Sylejmani,是的,我把所有的人聚集在一起。但是,我可以将组添加为我之前状态的新密钥。只有拥有该组时,我才可以使用选择器。我的初始状态没有组,但只要用户将一个人添加到组中,我就会更新我的状态(仔细复制到新状态)希望您能理解。 –
创建一个只保存组id的新状态,然后使用选择器计算来自存储的派生数据。例如: state.allPeople = {...}和state.groups = ['1','2','3',...] –