1
我想用normalizr
来标准化我的数据。问题是我在我的数据中有一个键(teams
),它与其他数据没有关系。JS normalizr如何将无关密钥添加到实体
例如:
const data = {
programs: [{
id: 1,
label: 'Program one',
products: [{
id: 1,
label: 'Product one',
releases: [{
id: 1,
label: 'Release one',
}]
}
]
}
],
teams: [{
id: 1,
value: 1,
label: 'Team one',
}
]
}
而且我的架构:
const release = new schema.Entity('releases');
const product = new schema.Entity('products', {
releases: [release]
});
const program = new schema.Entity('programs', {
products: [product],
});
normalize(data, [program]);
如何我也加入队中的实体对象,通过normalizr
产生的?所以结果需要:
const release = new schema.Entity('releases');
const product = new schema.Entity('products', {
releases: [release]
});
const program = new schema.Entity('programs', {
products: [product],
});
// add team entity
const team = new schema.Entity('teams');
// the encompassing schema
const dataschema = {
programs: [program],
teams: [team]
}
// normalize
normalize(data, dataschema);
// or omit dataschema definition and pass in directly
normalize(data, {
programs: [program],
teams: [team]
});
将导致:如果你告诉它你的数据的涵盖架构
{
entities: {
products: {},
programs: {},
releases: {},
teams: []
}
}