我正在尝试找出一个好的结构来在 Redux 中创建多对多关系.在这个例子中,我们有图片(可以有多个标签)和标签(可以有多个图片).
I'm trying to figure out a good structure to create a many to many relationship in Redux. For this example we have images (which can have multiple tags) and tags (which can have multiple images).
这是在 Redux 中构建它的好方法吗?
Is this a good way to structure it in 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 ] }这确实意味着我必须创建一个单独的 reducer,这会扰乱我的模块化结构,但我想这始终是拥有相关 reducer 的结果.
It does mean I have to create a separate reducer which messes with my modular structure but I guess that is always going to be the result of having related reducers.
推荐答案是的,这是规范化"状态的示例.Redux 文档在 Structuring Reducers 部分介绍了规范化.请参阅结构化减速器 - 先决条件概念、结构化Reducers - 规范化状态,以及结构化减速器 - 更新标准化数据.此外,Redux FAQ 在 "如何组织我所在州的嵌套或重复数据?".
Yep, this is an example of a "normalized" state. The Redux docs cover normalization in the Structuring Reducers section. See Structuring Reducers - Prerequisite Concepts, Structuring Reducers - Normalizing State Shape, and Structuring Reducers - Updating Normalized Data. Also, the Redux FAQ discusses normalization in "How do I organize nested or duplicate data in my state?".
除此之外,我非常喜欢使用名为 Redux-ORM 的库来管理我的 Redux 存储中的关系数据.我写了几篇文章讨论我如何使用它:实用 Redux 第 1 部分:Redux-ORM 基础 和 实用 Redux 第 2 部分:Redux-ORM 概念和技术.我的其余Practical Redux"教程系列也展示了这个库的实际应用.
Beyond that, I'm a big fan of using a library called Redux-ORM to manage that relational data in my Redux store. I've written a couple posts that discuss how I use it: Practical Redux Part 1: Redux-ORM Basics and Practical Redux Part 2: Redux-ORM Concepts and Techniques. The rest of my "Practical Redux" tutorial series also shows this library in action.
更多推荐
Redux 多对多关系
发布评论