用途:当 SolidJS 响应式失效、effect 不触发或 store 更新未反映到 UI 时,用该技能定位原因并修复。
主要能力:提供“症状—原因—修复”诊断表与“UI 不更新”诊断流程图,覆盖信号、store、props 三类来源;列出跟踪作用域规则(createEffect、createMemo、createRenderEffect、createComputed、JSX 表达式会跟踪;组件函数体、事件处理器、onMount、定时器回调、untrack、await 之后不跟踪);说明异步跟踪丢失问题;给出 SolidJS 2.x 与 1.x 的调试差异(2.x 为微任务批处理,set 后可能读到旧值,必要时用 flush());提供隔离 effect、跟踪作用域验证、solid-devtools 三种调试策略。
必要用法:信号必须在 JSX 中调用 getter,如 {count()};store 用 setStore("name", "x") 或 produce 更新,数组用 setStore 路径语法;props 用 props.name 访问,必要时用 splitProps/mergeProps;effect 中先读取所有信号再 await。安装 solid-devtools:npm install --save-dev solid-devtools,并在 vite.config.ts 引入 solid-devtools/vite 插件、入口引入 solid-devtools。
适用场景:SolidJS 组件 UI 不刷新、effect 只运行一次、memo 返回旧值、store 属性或数组更新无效、props 停止更新、超时回调中值过期等。
限制:资料未提供具体版本兼容范围、性能数据或除上述之外的收费与平台信息。