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: []
}
}