我试图找出一个好的结构来在 Redux 中创建多对多的关系。对于这个例子,我们有图像(可以有多个标签)和标签(可以有多个图像)。
这是在 Redux 中构建它的好方法吗?
images: {
1: {
title: "A bunch of hills"
},
2: {
title: "Hiking in a forest"
}
},
tags: {
1: {
title: "landscape"
},
2: {
title: "outdoors"
}
},
imagesTags: {
[
image: 1,
tag: 1
],
[
image: 1,
tag: 2
],
[
image: 2,
tag: 2
]
}
Run Code Online (Sandbox Code Playgroud)
这确实意味着我必须创建一个单独的减速器,它会扰乱我的模块化结构,但我想这始终是拥有相关减速器的结果。
是的,这是“标准化”状态的一个例子。Redux 文档在Structuring Reducers部分介绍了规范化。请参阅结构化减速器 - 先决条件概念、结构化减速器 - 标准化状态形状和结构化减速器 - 更新标准化数据。此外,Redux 常见问题解答在“如何在我的状态中组织嵌套或重复数据?”中讨论了规范化。.
除此之外,我非常喜欢使用名为 Redux-ORM 的库来管理 Redux 存储中的关系数据。我写了几篇讨论我如何使用它的帖子:Practical Redux Part 1: Redux-ORM Basics和Practical Redux Part 2: Redux-ORM Concepts and Techniques。我的“Practical Redux”教程系列的其余部分也展示了这个库的实际应用。
| 归档时间: |
|
| 查看次数: |
3170 次 |
| 最近记录: |