5 更多讨论 讨论地址是:精读《Immer.js》源码》 · Issue #68 · dt-fe/weekly
具体原理可以参考我之前的一篇文章《精读 Immer.js 源码》。 ? 自从有了 Immer.js 之后,至少从支持元编程的角度来看,mutable 并不一定会产生副作用,它可以是零副作用的: typescript function inc(obj) { return produce
immer 的做法就是维护一份 state 在内部,劫持所有操作,内部来判断是否有变化从而最终决定如何返回,具体内容可以看一下immer.js 简介及源码简析 这篇文章。 抱歉,学会 Proxy 真的可以为所欲为 immer.js 简介及源码简析
实现:通常是一个Immer.js的produce调用,用于创建配置的不可变更新。 6.3配置原子性通过使用Immer.js这样的不可变更新库,setPolicy和applyAllowlist保证了配置更新的原子性。要么整个更新成功,要么完全不改变原配置,避免了中间状态导致的不一致。
这里可以尝试一下 immer.js,引入成本小,写法也简洁了不少。
引言 javascript-knowledge-reading-source-code 这篇文章介绍了阅读源码的重要性,精读系列也已有八期源码系列文章,分别是: 精读《Immer.js》源码 精读《sqorn
建议使用 immer.js 来操作复杂数据。 总结 在项目初期,一定要考虑项目的复杂度,及早采取有效的措施,防止产生性能问题。如果在中后期才考虑性能问题,则难度会增加数十倍不止。