如何在ngrx中以简便的方式标准化来自服务器的数据

时间:2019-04-26 07:38:18

标签: redux ngrx

我在应用中使用的是ngrx / redux模式。

Normalizing State Shape文章中写道,我应该为每个对象创建一个“表”,并通过ID在它们之间进行链接。

例如:

posts = [{ id, author, comments: ["commentId1", "commentId2"....] }] 
comments = [{ id: 'commentId1', comment: '..' } … ] 

从服务器端,我嵌套了对象,

posts: [ { id, author, comments: [ { id, comment } ] } ..]

所以我需要编写代码来重构与规范化状态匹配的对象?对象中每个数组的属性?

要做的事听起来很艰巨。首先,我是对的吗?其次,如果是这样,有一种简单的方法可以解决这个问题?

1 个答案:

答案 0 :(得分:0)

我最近遇到了同样的问题。我最终在不同状态下使用了NGRX Entity。在您的情况下,一种状态为发布,一种状态为评论。可以走得更远并使所有内容标准化,但是正如您所说的,这是很多工作,我不确定是否值得。

我发现Todd Motto的教程非常出色:https://www.youtube.com/watch?v=al0LNgH3I4A

一种或另一种方式,您仍然需要一个映射器,将服务器对象映射到可以在应用程序中使用的模型。然后,不同的选择器可以帮助您轻松地为给定帖子获得正确的评论。