作为 React 状态不可变

Immutable as React state

这是一个好的解决方案吗? https://github.com/immutable-js/immutable-js/wiki/Immutable-as-React-state

我需要将嵌套对象放入我的状态。这个解决方案在代码中看起来很简单,但我想知道是否有任何理由不采用这种方法。

TL/DR:对于任何比简单新闻列表更大的东西,我都推荐不可变的,包括 redux-saga。但我不会将它用于组件的本地状态。

我们有一个大型 React 应用程序(JS,而不是 TypeScript),它的所有状态都是不可变对象。 该建议通常与 redux 和 redux-saga 相同:如果您不知道为什么需要它,您可能不需要。但问题是,如果您一开始没有它,后来发现它 有用,那么您已经陷入混乱,很难切换。

不可变不会增加明显的商业价值,但它减少了出现错误的机会,并阻止您做一些现在看起来不错但从长远来看 运行 会增加开发成本的事情。特别是当您的开发团队不是一群经验丰富的资深人士或通常不严格遵守规则时。

但是,在我看来,对于组件内部状态来说,这是不必要的矫枉过正,至少如果业务状态存储在您的全局 redux 状态中。

PS: Immutable 很成熟,可能不需要太多补丁,但不得不说:immutable 的开发基本上停止了,他们正在讨论引进新人,但谁知道呢结果。还有比较活跃的类似库