如何编写这个Store结构
How to write this Store structure?
我正试图找出我的Redux商店处理列表的最佳方式。现在它看起来像这样:
Store = {
users: [],
posts: [],
lists: [],
}
我的问题是这个列表数组。本质上它是一个存储特定资源的分页列表的存储,例如:
lists: [
{
id: 'users/43/posts',
items: [25, 36, 21]
}
]
由于我使用url作为id,因此显示用户帖子列表的组件将确切地知道要显示哪个列表。现在有人告诉我,这是一个非常非常糟糕的主意。我只是想听听你的建议,怎样才能更好。另一个建议的方法是:
users: [{
id: 2,
posts: [
{
url: 'users/2/posts',
items: [13, 52, 26],
}
]
}]
所以我不明白的是,Redux怎么知道在哪里保存这个列表?我需要在action参数中指定保存位置吗?
谢谢你的建议。
从技术上讲,只要你让它工作,任何事情都可以工作!不过,第二种方法看起来更为成熟。您不希望使用url作为ID。id应该是数字或特殊的字符+数字序列。当你的应用程序增长时,你会想要规范化你的数据,即将ID存储在一个单独的数组中,并将对象数组转换为一个以键为ID的对象。
来自Normalizr的示例
[{
id: 1,
title: 'Some Article',
author: {
id: 1,
name: 'Dan'
}
}, {
id: 2,
title: 'Other Article',
author: {
id: 1,
name: 'Dan'
}
}]
可以归一化为-
{
result: [1, 2],
entities: {
articles: {
1: {
id: 1,
title: 'Some Article',
author: 1
},
2: {
id: 2,
title: 'Other Article',
author: 1
}
}
}
}
当您的应用程序增长时,您将有多个reducer和子reducer。您可能希望对状态树的特定部分进行切片,等等。出于这个原因,有人可能会建议您以不同的方式存储状态。
但是,如果你让它工作,任何事情都可以工作!好运!
相关文章:
- 更改JSON对象的结构
- 角度控制器结构
- TypeError:_this.store.getState在使用来自Redux的连接时不是函数
- 从键值结构中获取数据,并将其与AngularJS中ng重复的值进行比较
- 使用递归属性迭代保留属性结构
- 如何将我的json结构转换为C3.js所需的列结构
- 嵌套对象结构
- Query JS Ext.data.Store
- Redux应用程序结构-在哪里放置服务/业务逻辑
- 用于视频类型的MongoDB结构's
- javascript和php中的pancard结构验证
- 如何在砖石结构中订购DOM
- 如何解析结构不良的 html 代码
- 访问嵌套函数结构中的JavaScript父函数变量
- 为什么我们在ES2015中需要一个新的for循环结构,而我们已经有了for、forEach
- 从json对象聚集数据并创建层次结构
- 在我的目录结构中,将单元测试助手源文件放在哪里
- 当知道同一hiearch中至少有一个元素时,遍历到元素.结构使用jquery
- Html5-使用SVG路径绘制的组织层次结构在左手边被剪裁
- 如何编写这个Store结构