MSD*_*MSD 5 reactjs redux normalizr
我们有一个映射以下关系的数据库:
tag有很多campaignscampaign有很多tagscampaigns和之间的关系tags由一个称为 a 的关联实体表示campaign_tagcampaign_tag实体拥有priority属性当我们的关联实体没有唯一的 ID/值时,我们如何实现normalizr(或任何类似的库)来生成一个扁平化的应用程序状态来解释我们的关联实体?
我见过的其他例子只绘制了原始实体,似乎更适合一对多或一对一的关系。他们通常产生这样的状态树:
{
entities: {
campaigns: {
'1': { id: 1, name: 'Ace', tags: [1, 2, 3] },
...
},
tags: {
'1': { id: 1, name: 'Example Tag', campaigns: [1, 2, 3] },
...
}
},
...
}
Run Code Online (Sandbox Code Playgroud)
我们的关联实体会进入那个entities组吗?我们应该只添加唯一的 ID 吗?这似乎适得其反。扁平化这种关系是否合适?
任何帮助表示赞赏,谢谢。
应用场景:
您控制 API:我将发送如下对象:
campaigns: [{
id: <id>,
name: <name>,
}],
tags: [{ id: <id>, name: <name> }],
campaign_tags: [{campaign_id, tag_id, priority}]
Run Code Online (Sandbox Code Playgroud)
因此,这将易于管理并避免信息重复。当您使用 redux connect 挂载组件时,您可以创建一个选择器来填充您的活动标签以添加到组件的属性中。
您无法控制 API。在这种情况下,我需要知道您从服务器获得什么类型的响应才能推荐某些内容。
| 归档时间: |
|
| 查看次数: |
1003 次 |
| 最近记录: |