Solid 的核心设计围绕"细粒度响应式"展开。当状态发生变化时,框架只更新真正依赖该状态的精确 DOM 节点(如某个文本节点或属性),而不是重新渲染整个组件或组件子树。这种机制让框架"只做必要的更新",避免了大范围的重渲染开销。
在 Solid 中,组件函数只在首次挂载时执行一次,而非每次状态变化都重新执行。响应式绑定(如信号)在首次执行时建立依赖追踪关系,后续状态变化时由框架直接更新对应的 DOM 绑定,无需重新运行组件逻辑。
Solid 通过编译器将 JSX 模板转换为真实的 DOM 创建与绑定操作,在编译阶段就确定好 DOM 结构,运行时无需额外的虚拟 DOM 构建与协调(reconciliation)成本。
Solid 在写法上借鉴了 React 的函数组件与单向数据流理念,同时吸收了 Knockout 的响应式思想,力求让开发者"上手熟悉、心智负担低"。它没有 Hook 规则约束,读写分离,接口保持不可变(immutable)。