Javascript “返回”;FromJS";状态VS在React Redux中返回普通JS对象状态
在Javascript “返回”;FromJS";状态VS在React Redux中返回普通JS对象状态,javascript,reactjs,redux,Javascript,Reactjs,Redux,在react redux中,immutable.js的PROS部分中写到: 组件将在不应该重新渲染时重新渲染,并拒绝重新渲染 在应该的时候渲染,并跟踪导致错误的错误 渲染问题很难解决,因为组件渲染不正确 必然是那些属性被意外变异的人 这个问题主要是由返回一个突变状态引起的 对象从Redux reducer中删除。对于Immutable.JS,这个问题很简单 不存在,从而从您的应用程序中删除一整类错误 这,连同它的性能和丰富的数据API 操纵,这就是为什么Immutable.JS值得付出努力的原因
react redux
中,immutable.js的PROS部分中写到:
组件将在不应该重新渲染时重新渲染,并拒绝重新渲染
在应该的时候渲染,并跟踪导致错误的错误
渲染问题很难解决,因为组件渲染不正确
必然是那些属性被意外变异的人
这个问题主要是由返回一个突变状态引起的
对象从Redux reducer中删除。对于Immutable.JS,这个问题很简单
不存在,从而从您的应用程序中删除一整类错误
这,连同它的性能和丰富的数据API
操纵,这就是为什么Immutable.JS值得付出努力的原因
请用适当的小例子详细说明以下歧义
mapStateToProps
中使用.toJS()
,那么如果我们不应该在mapStateToProps
中使用.toJS()
,我们应该如何访问从组件中的reducer返回的状态Redux
,以及immutable.js
是一种复杂的体系结构。您打算用Redux
解决什么样的问题?如果你已经下定决心使用状态管理工具,并打算深入研究
不变性主要是关于作为纯函数实现约简的需求。在这里,immutable.js
可以帮助“重新计算”对整个状态的引用,而不管它的哪个部分被更改。但它是一堆不变的数据结构。要将它们提供给虚拟DOM,必须将它们转换为js
。您准备好为这种运行时“检查”付费了吗?它会带来额外的复杂性和可能的性能问题
也许最好将ESLint配置为在代码中的任何地方都进行编译时不变性检查。我指的是像这样的地方:
const state = { foo: { bar: { baz: 'plugh' } } };
state.foo.bar.baz = 'Do not do that cause React do not track such changes at all)';
与Redux相比,它可能更适合您。它的功能更少,更具结构性/古典性