我有非常嵌套的 JSON 中的实体,它们已经遵循 normalizr 格式,其中 idAttribute 已经是定义对象的键:
groups: [{
id: 'foo',
families: {
smiths: {
people: [{
id: 'sam',
}, {
id: 'jake',
}],
},
jones: {
people: [{
id: 'john',
}, {
id: 'sue',
}],
},
},
}];
在此示例中,请注意该families
属性使用 id ( smiths
, jones
) 来标识people
谁是具有 id 的对象数组。
此模式可能如下所示:
const person = new Entity('person');
const family = new Entity('family', {
people: [person],
}, {idAttribute: ???});
const group = new Entity('family', {
family: [family],
});
问题:有没有办法指定模式的 idAttribute 是定义它的关键?换句话说,我将如何定义与andFamily
相关的架构?groups
people
另一个问题,有没有办法达到denormalize
扁平状态,以便家庭families: {[id]: obj}
模式与上面的示例 json 中的模式保持一致?