SolidJS 核心指南
SolidJS 是一个声明式 UI 库,但它的工作方式和 React、Vue 都不完全一样。
最大的区别在于:Solid 不靠虚拟 DOM 做整树级别的重新计算,而是靠细粒度响应式,把变化直接送到真正受影响的 DOM 节点上。这件事会连带改变很多写代码时的直觉。
Solid 的核心心智
组件函数通常只跑一次
React 的组件会在状态变化后重新执行,Solid 通常不会。组件初始化后,真正继续变化的是内部的响应式订阅关系。
这会带来两个非常直接的感受:
- 不太需要反复思考“重新渲染后这个闭包还是不是最新的”
- 很多原本靠
memo、callback之类优化的场景,在 Solid 里天生就轻一些
状态不是“触发整段 JSX 再跑一遍”
Solid 的状态变化,更像“哪个地方依赖了这个值,就只更新哪个地方”。
这种粒度很细,所以它的性能表现一直很强,也很适合高频交互、实时面板、复杂可视化这类更新密集的界面。