Guy*_*Guy 1 javascript reactjs immutable.js redux
我正在考虑将我的reducers从普通的JS转移到immutable.js.理解immutable.js api需要几天的时间,然后用测试做重构,我想考虑一下这个转换是否有必要.我的动机是我目前在每次改变时复制州:
let newState = {...state};
Run Code Online (Sandbox Code Playgroud)
这很昂贵,导致我不时忘记克隆深层物体.
谷歌搜索问题的最后几天我仍然不明白是否将我的Reducer移动到immutable.js将导致性能损失,以及我是否需要遍历我的组件和容器并在每个上使用state.toJS().
迁移到immutable.js的性能有何影响?特别是当我使用撤销并保持多个步骤时.每次我需要组件/容器的数据时,我是否必须使用.toJS()?
关于性能的简短回答:这取决于.在这里引用丹阿布拉莫夫,
简而言之:创建一个示例应用程序,模仿您在应用程序中预期的数据大小和更改速度,并对其进行分析.没有其他方法可以判断Droputable是否适用于你.
一个使用像不变库的主要好处是,正如你所说,它阻止你忘了克隆不时深深的对象,这可能会导致真正讨厌的错误是很难追查.同样,撤销如果你跟踪以前的状态可与不可变容易得多,而他们更更多地参与没有一成不变的图书馆,因为你基本上创建新状态之前必须深克隆状态.
我认为值得一试,但你总是可以一次移动一些减速器来使用不可变的而不是迁移你的整个应用程序.这样,您可以分析性能影响,看看是否值得迁移整个应用程序.
| 归档时间: |
|
| 查看次数: |
1293 次 |
| 最近记录: |