【问题标题】:Redux: Array or Object for storing a list of blogs?Redux:用于存储博客列表的数组或对象?
【发布时间】:2017-10-11 23:16:24
【问题描述】:

我正在设计应用程序的 Redux 端,特别是我的状态对象。

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

/api/posts

使用 POST 方法。

如果我遵循我过去使用过的规则,我最终会在我的全局状态对象上获得一个 posts 属性和一个 activePost 属性。

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

我想将我的帖子列表存储在一个对象中而不是一个数组中,并且完全消除对 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。下面的下一个也一样。

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

即使有大量帖子,这也能工作吗?这会是最佳实践吗?为什么或者为什么不?如果这没有任何目的,请提供书面理由。谢谢。

【问题讨论】:

  • 嘿,我没有编辑权限。所以你能不能给它添加一些标签,比如redux,javascript。通过这种方式,它将接触到更多的观众。谢谢

标签: javascript arrays redux react-redux


【解决方案1】:

我相信这是最佳实践,实际上是一个非常先进的概念。我听同事说数组最适合大型数据集,但没有多少文档可以支持他们的说法。

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

state.posts[postId]

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

我的理解是,这就是它在生产中和可扩展性良好的大型应用程序中的完成方式,因此它实际上适用于大数据。

【讨论】:

    猜你喜欢
    • 2021-09-26
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-08
    • 1970-01-01
    • 2014-05-23
    相关资源
    最近更新 更多