gpt4 book ai didi

reactjs - React + Redux + Immutable - 不可变对象(immutable对象)应该有多深?

转载 作者:行者123 更新时间:2023-12-03 14:01:31 26 4
gpt4 key购买 nike

我有一个使用 React、Redux 和 Immutable 的全新项目。我创建的状态是一个高度嵌套的不可变映射。当我将它的各个部分传递到子组件的 props 中时,我应该在什么时候(如果有的话)调用 toJS 呢?

我认为将其始终保留为不可变类之一(尤其是在新项目中)是有意义的,而且我真的很喜欢 getIn 功能。

缺点是,不清楚演示组件深处的对象是 Immutable 类还是普通 JS 对象。

最佳答案

我建议将其始终保持为不可变。

如果您在将不可变状态作为 prop 传递给子组件之前调用 toJS,那么您将失去该子组件能够在其组件中对该 prop 进行简单引用检查的好处。应该组件更新。请参阅advanced performance section of the React docs了解更多信息。

您有什么理由想要调用 toJS 吗?最终,无论如何,您最终都会访问 UI 的原始值,因此使用 get/getIn 访问它们非常容易。作为奖励,这些不可变类型附带了一些方便的方法。

至于你提到的缺点,如果你使用react-immutable-proptypes它使您可以轻松查看/执行每个组件的期望。如果您决定一直使用 Immutable,那么就没有什么需要记住的了。

关于reactjs - React + Redux + Immutable - 不可变对象(immutable对象)应该有多深?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36963320/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com