8

在设计具有相关实体的状态形状时,官方 Redux 文档建议通过 ID 引用而不是嵌套:http ://redux.js.org/docs/basics/Reducers.html#note-on-relationships 。

在一对多关系中,Normalizr 会将引用放在关系的“一”侧,例如:

"posts": {
  "1": {
    ...
    comments: ["1", "2", "3"]
...

这比将参考放在“多”方面更好吗?例如

"comments": {
  "7": {
    ...
    postId: "1"
...

在创建 Redux 存储时,我把引用放在哪里重要吗?

4

1 回答 1

2

我建议在帖子中保留评论的 ID。

这样,对于任何给定的帖子,您都可以通过直接引用(索引或属性名称,没关系)访问所有评论,这既快速又简单。这是 O(N) 的复杂度。

在相反的情况下,您必须搜索所有给定帖子的评论。这是 O(N^2) 的复杂度。另外,一旦您拥有所有评论,您就必须重新排序。

于 2018-05-12T17:14:29.243 回答