SuperAPI AI 工具集

solid-errors-error-handling

编程与开发

查看项目

更新于 10-15 22:18

技能介绍

用途:在 SolidJS 组件中实现错误边界、Suspense 加载状态与错误恢复,避免未捕获的渲染错误和缺失的降级界面。

主要能力:ErrorBoundary 捕获子级响应式计算与 JSX 渲染中的错误,fallback 可为静态 JSX 或接收 (err, reset) 的函数,reset() 清除错误状态并重新渲染子级。Suspense 在 createResource 解析期间显示 fallback,子级 DOM 立即创建但在资源解析后才挂载,嵌套边界各自独立解析。catchError 用于响应式作用域内的程序化错误处理,不渲染降级 UI,适合日志上报或静默恢复。

使用方式:组件使用 createResource 时应同时用 Suspense 与 ErrorBoundary,并将 ErrorBoundary 放在 Suspense 外层;资源错误恢复需同时调用 reset() 与 refetch()。嵌套 ErrorBoundary 时内层先捕获,内层 fallback 抛错则传播到外层。SSR 下 createEffect 不会运行,需用 solid-js/web 的 isServer 区分处理。

限制:ErrorBoundary 不捕获事件处理器、setTimeout/setInterval 回调、响应式作用域外的异步代码、fallback 自身以及模块顶层抛出的错误,这些应使用普通 try/catch。不要用 Show 作为资源加载门控,否则会销毁并重建子树、丢失状态。

补充:资料未提供该技能的安装命令、收费与版本适用细节。