SuperAPI AI 工具集

solid-js-1x-best-practices-and-api

编程与开发

查看项目

更新于 10-15 21:11

技能介绍

用途:用于 SolidJS 1.x 核心框架开发,聚焦惯用写法与响应式模式,不涉及 SolidStart 的路由或服务端模式。适用于概念讲解、调试不更新的界面、向惯用写法重构以及组件或状态模式的代码审查。

主要能力与核心模型:组件仅执行一次用于初始化;响应式追踪发生在 JSX、createMemo、createEffect 等作用域内读取信号或响应式 props 时;过早读取会失去响应性;props 默认为响应式,需保留其 getter。

原语选择:局部标量用 createSignal;派生值用派生函数或 createMemo;嵌套结构状态用 createStore;异步数据用 createResource 配合 Suspense;仅在接触外部世界时用 createEffect;控制流用 Show、For、Index;调整 props 用 splitProps、mergeProps;真正共享子树状态才用 context。

核心要点:保持 getter 完整;派生而非同步(如用 createMemo 计算 fullName,而非用 createEffect 写回信号);让 JSX 与响应式作用域负责依赖追踪;effect 用于副作用边界并配 onCleanup 清理;嵌套数据用 store,可用 produce 做变更、reconcile 同步服务端数据、unwrap 取非响应值。异步优先 createResource 而非 createEffect(async ...)。

规则包:涵盖控制流、状态管理、refs 与 DOM、性能、可访问性、测试。关键测试规则:Vitest 需配置 Solid 插件与解析条件;必须 render(() => <Comp />);信号、memo、effect 测试需包在 createRoot 或用 renderHook;异步用 findBy 查询。

限制:仅针对 SolidJS 1.x 核心,不含 SolidStart 路由与服务端模式;未提供安装命令、版本与许可等信息。