3

最近发现了个宝藏 Web 框架 SolidJS,有种未来的感觉

 2 years ago
source link: https://www.v2ex.com/t/802787
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

https://www.solidjs.com/

最近几年都在写 React Hooks,越来越发现这货其实缺点和优点一样多,视图函数一有变动就重新运行一开始我是拒绝的,后来被洗脑后勉强认为是个合理的符合逻辑的行为并愉快地写了二年,但还是时不时会被这个底层行为搞得有点烦燥,对 React 算是脱粉了

当然替代是有,Vue 版 Hooks 就不会无休止地重运行函数,但是不知道为什么对 Vue 喜欢不起来(比如不喜欢有模板功能,虽然可以不用但眼见着烦

svelte 又是另一种,不过出于对用编译器魔改 JS 的这种重手段来搞框架这种莫名其妙的心结对这个框架喜欢不起来,编译出来的东西又看着又太屎了

昨天把玩了一天 Solid,相当喜欢。这个框架也和 svelte 不用 VDOM,号称可以精细更新 DOM 性能无敌不做无用功。 当然性能不是我最主要的关注点,主要是这货 API 类 React 但它的视图函数不会重复运行,而且因为不用 VDOM,操作的对象直接就是真实 DOM Element,感觉接地气多了(比如视图返回一个<div ...>,它返回不是一个 React element 而是真.HTMLDivElement )

另外虽然也用的 JSX 语法,但确实也是用编译器的不是用原本的 JSX 转换语义。但转出来的东西比 svelte 易读多了。

总之,优点是优能极高,API 类 React Hooks 且简单(至少概念比 Vue 少),视图不会重复运行。 大缺点暂时没发现,发现几个小缺点,比如因为 Reactive,变量不象 React 是普通的变量而是加料的,用的时候要加(),操作几个复杂变量如 props,children 要用它提供的 helper,不过只是开发时的规则习惯就好了,不是 React Hooks 这种运行时的无法避免的缺点。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK