Redux - immer 与 Normalizr

asu*_*sus 2 redux normalizr immer.js

我过去曾使用过immer ,并且非常喜欢它。它使得使用 redux 变得轻而易举。我最近发现了normlizr,它看起来也很棒。

两者有什么区别?immer 是否提供与 Normalizr 相同的标准化解决方案?对于生产应用程序来说,这两者中哪个是更好的选择?或者它们应该一起使用吗?

mar*_*son 7

它们是两种完全不同的工具,可以一起使用。

Immer 是一个在编写“变异”语法时对数据执行不可变更新的库。

Normalizr 是一个库,用于获取多种类型的嵌套数据(例如Post包含 aUser和 的 a Comments),并将它们全部提取到一组规范化的查找表中。

它们都常用于 Redux 应用程序中。

我们的官方 Redux Toolkit 包已经内置了 Immer。RTK还附带了一个createEntityAdapter用于存储和更新标准化数据的API,它在内部使用Immer,我们特别有一个使用指南部分,介绍如何使用Normalizr预处理响应数据,然后使用createEntityAdapter