用途:SolidJS 是用于构建用户界面的声明式 JavaScript 库,不使用虚拟 DOM,而是把模板编译为直接 DOM 操作,并由细粒度 Signals 响应式驱动。适合高性能响应式 Web 应用、实时仪表盘与数据流、内存受限设备(嵌入式屏幕、智能电视、低端手机)以及用 JSX 构建 SSR/SSG 全栈应用的 SolidStart 场景。
主要能力:核心是细粒度响应式原语 Signals 与 Memos,组件只执行一次,信号触发针对性的 DOM 节点更新;createResource 配合 Suspense 实现声明式异步数据获取;For、Show、Switch 等控制流原语替代数组 .map() 以优化 DOM 渲染;createStore 支持复杂对象的深层嵌套变更。
使用方式:用 createSignal 创建信号,createMemo 做纯派生,createEffect 处理副作用,onCleanup 清理定时器与事件监听;异步数据用 createResource 与 Suspense;列表与条件渲染用 For、Show。
限制与注意:组件只运行一次,不要直接解构 props(应使用 props.title 或 mergeProps),否则会破坏响应式追踪;不要在 createMemo 内更新信号;不要沿用虚拟 DOM 的整树重渲染假设。常见问题包括信号值不更新(解构导致)、count is not a function(应调用 count())、组件函数只执行一次(响应式逻辑应放在 effect 或 JSX getter 中)。