为React + Redux应用发送回规范化或非规范化的API响应更好吗

Nat*_*teW 6 normalize denormalization reactjs redux redux-orm

我正在编写一个react-redux应用程序。首先,它调用单个端点,该端点返回大量数据作为高度嵌套的JSON。然后,我对其进行规范化并将其放入我的redux-orm模式。
对我来说,在后端创建嵌套数据只是为了遍历前端的嵌套数据以对其进行规范化似乎是很愚蠢的,因为它来自标准化的PostgreSQL数据库。

Database = Normalized --> 
API = Denormalized --> 
Frontend = Normalized
Run Code Online (Sandbox Code Playgroud)

只是发送回标准化的API响应是最佳实践吗?

gui*_*ier 1

我不确定是否有“好”的方法来做到这一点。如果您必须处理现有的 API,那么就处理它,并在前端代码中使用代理/解析器将后端有效负载映射到 redux-orm 存储中,以及另一侧。

经过近一年的 React/Redux/Redux-orm 应用程序Wisembly Jam的制作,我不会在这里假装给出答案,而是提供反馈。

当我们从头开始时,我们选择为我们的 API 使用JsonAPI 规范。我们喜欢这一点,因为它以一种非常适合我们的 PostgreSQL 方案以及我们的 redux-orm 方案的方式公开对象和关系。

这样,模型关系嵌套不需要双向,只有在data字段中处理的普通对象,包括字段中的关系included。它看起来配合得非常好。

您可以检查我们的应用程序“网络”选项卡以查看我们的 api 有效负载响应,以及我们的 redux-orm 存储(使用 Redux Chrome 扩展)。

希望这能有所帮助,尽管我的英语不是正确的答案:)