首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Redux和alternatives键入Immutable.js

使用Redux和alternatives键入Immutable.js
EN

Stack Overflow用户
提问于 2019-11-28 22:41:01
回答 1查看 70关注 0票数 0

我刚刚将Immutable.js整合到一个小的React/Redux + Typescript项目中,由于输入问题,我真的不确定这是不是可行的方法。我想听听更有经验的程序员的意见。

Immutable.js的明显好处是它使您的状态为您保持不变。

缺点是绝对不需要打字。getInsetIn是您与数据交互的主要方式,尤其是与商店的数据交互。嵌套得越多,就会变得越痛苦和危险。此外,更改存储结构不会再产生任何错误--您将留下大量分散在整个项目中的setIn,您需要找到并修复其中的每一个。重构变得极其危险。

我听过很多人对Immutable.js赞不绝口,但真的值得为缺少输入而付出所有的痛苦吗?

其他的解决方案是什么?为什么我会/不会使用某种类型的库来深度克隆每个reducer开始时的状态?

EN

回答 1

Stack Overflow用户

发布于 2019-11-28 23:12:03

我不喜欢复杂的嵌套Redux状态。

在这里,您可以找到一篇描述如何规范化数据结构的文章:https://redux.js.org/recipes/structuring-reducers/normalizing-state-shape

请注意以下解释:

注意到数据的结构有点复杂,有些数据是重复的。这是一个令人担忧的问题,原因有几个:

..。

  • 嵌套数据意味着相应的reducer逻辑必须更加嵌套,因此更加复杂。特别是,试图更新一个深度嵌套的字段可能会很快变得非常丑陋。

因此,在Redux存储中管理关系数据或嵌套数据的推荐方法是将存储的一部分视为数据库,并以规范化的形式保留该数据。

另一个流行的库是https://github.com/kolodny/immutability-helper

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59091303

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档