Solid 最核心的世界观,不是“组件重新执行”,而是:
谁依赖了数据,就只更新谁。
这就像一条街区里的每个设施都接了独立传感器:
精细反应街区
│
├── 店铺 A 的温度牌
├── 店铺 B 的库存灯
├── 店铺 C 的营业状态牌
└── 路口大屏上的总客流数字如果只有“库存灯”依赖某个值,那这个值变化时:
- 不需要整条街重跑
- 不需要整家店函数重新渲染一遍
- 只需要更新那个灯
这就是 Solid 和 React 的第一性差异。
#React 的直觉
在 React 里,你通常这样想:
- state 变了
- 组件函数重新执行
- React 再 diff
- 决定改哪些 DOM
#Solid 的直觉
在 Solid 里,更接近:
- 某个 signal 变了
- 订阅它的计算重新执行
- 直接把结果推到依赖节点
- 不需要整组件重跑作为默认路径
你可以把它记成一句话:
React 更像“重新画一张局部草图再比对”,Solid 更像“电路板上哪个点通电就只改哪个点”。