信号(Signal)是 Solid 响应式系统的基本单元,是一个带有读写能力的可观察值。通过 createSignal 创建信号后,读取其值(调用 getter)会自动建立依赖,写入其值(调用 setter)会通知所有依赖它的计算和绑定进行更新。
Solid 采用读写分离模型:读取信号值与写入信号值是独立的操作。这种设计让依赖追踪在读取时自动完成,而不需要开发者手动声明依赖,减少了心智负担和出错概率。
基于信号可以构建派生状态,如通过 createMemo 创建的记忆化计算值。当上游信号变化时,派生计算会自动重新求值,且只有真正依赖它的地方才会被触发更新。
信号可以在业务逻辑与 JSX 视图之间自由组合使用,从数据层到 DOM 绑定层都能精确控制更新范围,这正是 Solid"用更少做更多"的能力来源。