基本信息

来源摘要/节选

公开展示已截断至最多 800 个字符;请访问原始来源查看完整上下文。

最近遇到一个性能问题,我让大模型自己去处理,然后就去午休了,醒来之后,它还真的把问题找出来并修复了 先说结果 最终定位出来的根因是: 这个业务工作台的查询表单,把 Formily 的 form 实例塞进了带 devtools 的 Zustand store。 这件事在开发环境里会非常要命,因为 form 不是一个轻量对象,它里面带着大量字段状态、reaction、effect、schema 和联动信息。 一旦进了 store,又被 devtools 观察、快照、序列化,内存就会被瞬间放大。 如果把这里面的角色先拆开,其实更容易理解: Formily form 是一个重量级运行时实例,里面不只是表单值,还带着字段树、联动关系和各种内部状态 Zustand store 适合放跨组件共享的轻量状态,比如布尔值、筛选条件、选中 id 这类数据 devtools 在开发环境下会持续记录 store 变化,所以一旦把重对象塞进去,调试链路里的成本也会跟着被放大 更准确地说,这里的问题不是“Zustand 绝对不能放 Formily 对象”,而是: Formily form 这种重量级运行时实例,本来就不适合进会被 devtools 观察、快照和序列化的 store state;而 devtools 又把这个问题成倍放大了。…

来源说明

当前只保存了公开页面节选,不代表原文全文。请以原始来源为准。

本页只呈现已做哈希绑定的来源证据,不包含基于旧正文或缺失原文的扩展推断。