进阶指南
深入了解 Mutative 的高级功能与最佳实践。
自动冻结
使用 enableAutoFreeze 深度冻结下一个状态,阻止意外修改。
柯里化
创建稍后接收基础状态及额外参数的 producer,或创建稍后完成最终处理的草稿。
标记数据结构
通过 mark 选项决定哪些值创建草稿、哪些保持可变,以及如何复制它们。
补丁
将更新函数的修改记录为补丁,并通过 apply() 应用到状态。
严格模式
显式读取无法创建草稿的值,并在开发环境检查返回值。
TypeScript
了解草稿、结果、producer 和补丁的类型,以及 Mutative 导出的类型与类型转换工具。
常见陷阱
避免草稿、返回值、未创建草稿的值及补丁中的常见错误。
性能建议
避免不必要的草稿、搜索、复制、冻结与补丁开销。
从 Immer 迁移
将 Immer API 替换为 Mutative,并检查冻结、补丁、类实例和异步更新的差异。
从 Mutative v1 迁移到 v2
相比 1.3.0,构建、补丁、数组、返回值、开发检查、类型和修复中可能影响现有代码的变化。
在 GitHub 上编辑
最后更新于 作者:unadlib