Redux:用于存储博客列表的数组或对象?

时间:2017-10-11 23:16:24

标签: javascript arrays redux react-redux

我正在设计应用程序的Redux端,特别是我的State Object。

我将使用类似于此的POST API:

/api/posts

使用POST方法。

如果我遵循过去使用过的规则,我最终会在我的全局State Object上使用posts属性和activePost属性。

可能由帖子缩减器产生的posts属性可能是一个数组,它将包含我在应用程序中所有不同帖子的列表。

我想将我的帖子列表存储在Object而不是数组中,只需完全消除对activePost的需求。所以它看起来像这样:

{
  4: {title: 'Hello', id: 4, content: 'Hi', tags: 'greetings'},
  12: {title: 'Bye', id: 12, content: 'Bye', tags: 'greetings'},
}

请注意,在此对象内部,我说密钥是帖子的id,值是帖子本身。因此,对象从数字4开始,在结束花括号处关闭。它的id为4,使用4的键,因为它是帖子的id。下面的下一个也一样。

这样做的原因是为了更容易找到我提取的所有帖子中的特定帖子。

即使有大量的帖子,这还可以吗?这是最好的做法吗?为什么或者为什么不?如果这不起任何作用,请提供记录在案的原因。谢谢。

1 个答案:

答案 0 :(得分:0)

我认为这是最好的做法,实际上是一个非常先进的概念。我听到同事们说阵列最适合大型数据集,但没有太多文档来支持他们的声明。

这可能需要一个非常具有挑战性的重构,例如:

state.posts[postId]

这将返回给定的帖子,postId来自url的id号,然后使用该号码查看许多不同帖子的对象。

我的理解是,这就是它在生产和大型应用程序中的完成程度如何,因此它实际上适用于大数据。