SuperAPI AI 工具集

solidjs-v2

编程与开发

查看项目

更新于 10-15 23:46

技能介绍

用途:面向 SolidJS 2.0 的代码编写与 API 解答,参考目标为 solid-js@2.0.0-rc.8 与 @solidjs/web@2.0.0-rc.8。独立提问时使用该参考版本;修改项目时先读取已安装的 solid-js 版本(lockfile/package 元数据),仅对 2.x 主版本应用本技能,1.x 项目保留原有约定,除非明确要求迁移。已安装的类型定义与参考版本不一致时,以类型定义优先。

主要能力:讲解 Solid v2 模型——组件每次挂载只运行一次,JSX、memo 与 effect 的 compute 回调会追踪读取;props 保持为 props.name 并在追踪作用域内读取。可变 UI 值放在 signal 或 store 中,访问器必须读取响应式状态才能订阅。JSX 编译器提供追踪与 getter,如 <Counter value={count()} />。派生状态用 createMemo 或 createSignal(() => props.initial)。写入在微任务提交,需要立即读取时用 flush()。effect 分两阶段:createEffect(compute, apply, options?),compute 追踪,apply 不追踪并返回清理函数;compute 出错时第二参数改为 { effect, error }。异步放在计算中,memo 或派生 store 返回 Promise/AsyncIterable,消费端用 Loading 渲染、Errored 处理错误。客户端异步变更用 actions,支持乐观写入、yield 服务端工作、yield refresh(source) 或 until(predicate) 确认。store 用草稿方式,const [state, setState] = createStore(initial),在回调花括号内变更。DOM 属于 @solidjs/web,使用其 JSX 类型与 jsxImportSource。

使用方式:按任务打开对应链接文件(reactivity、async and actions、control flow and DOM、TypeScript setup、patterns、conventions、server functions、server components),链接相对 SKILL.md 解析。符号搜索可在技能目录内用 rg --hidden,避免工作区搜索跳过隐藏目录。实现前先确定要读取的状态、改变它的事件及其生命周期归属。

适用场景:可编辑 props、派生值、订阅、持久化、DOM 时序、诊断;数据获取与渲染、乐观保存、进度显示、按 refetch 或实时回显确认写入;记录更新、合并服务端数据、行选择、嵌套实时视图、快照/深层 store;列表与分支渲染、组件加载、SSR 流式、属性、事件、refs;导入、TypeScript、context、测试配置;缓存优先查询、socket 订阅切换、共享/每请求状态;createX 与 useX 命名约定;server functions 与实验性 server components。

限制:需按已发布签名做精确 API 断言,缺失或未验证的契约应明确说明而非编造;类型检查只能证明签名,运行时断言才能确认顺序、清理、pending 与 hydration 行为;未测试的声明应标注为未验证。资料未提供具体安装命令、收费与平台信息。