我正在使用重新选择从商店中获取我的数据。我维护一个列表,Divisions
每个Teams
部门都有它的团队列表。我还保留了活动部门的记录并将它们保存在一个数组activeIds
中。
基本上我有这个树结构:
const divisions = {
activeIds: [], // this contains the selected division IDs
list: {
1: {
name: 'Division 1',
teams: [1,2,3]
}
2: {
name: 'Division 2',
teams: [4,5,6]
}
// and so on...
}
}
const teams = {
1: { name: 'Team 1' }
// and so on...
}
我有一个getActiveDivisions
选择器,它遍历activeIds
数组并用除法数据对其进行水合,结果是:
// if activeIds contain [1,3]
const activeDivisions = {
1: {
name: 'Division 1',
teams: [1,2,3]
}
3: {
name: 'Division 3',
teams: [7,8,9]
}
}
现在我想创建一个getActiveDivisionsWithTeams
选择器,它基本上与树具有相同的结构,activeDivisions
但具有水合团队,例如:
const activeDivisionsWithTeams = {
1: {
name: 'Division 1',
teams: {
1: { name: 'Team 1' },
2: { name: 'Team 2' },
3: { name: 'Team 3' }
}
}
// and so on...
}
或者我应该为有水合团队的部门保留一份不同的名单?
// Notice there is no `name` on division entry
const activeDivisionsWithTeams = {
1: {
teams: {
1: { name: 'Team 1' },
2: { name: 'Team 2' },
3: { name: 'Team 3' }
}
}
// and so on...
}
或者处理这种情况的最佳方法是什么?