什么是 SolidJS?
答:SolidJS是用于构建用户界面的声明式、高效且灵活的 JavaScript 库。
我敲,用于构建界面的 JS 库,这个我们熟啊,比如三大框架都是呀,React、Vue、Angular,是和它们一样的库么?
答:是的。
那都有 3 大框架了,还有必要再造一个这样轮子吗、它有什么不一样的?或者它诞生的背景是什么?
答:SolidJS 最大的特点就是“性能直逼原生JS”。
空口无凭,捉襟见肘。有理有据,百口莫辩。数据统计:js-framework-benchmark
为什么它这么快?
答:主要因为 3 点:
官方文档地址?还是看文档更准确。
左边是文档解释、右边是在线运行的代码,学起来真方便!!
SolidJS 什么时候诞生的?
答:SolidJS 框架由 Ryan Carniato 创建,于 2018 年开源。
而 Angular 诞生于 2009 年、React 诞生于 2013 年 3 月 、Vue 诞生于 2014 年 2 月。
SolidJS 妥妥的“够新!!” GitHub star history,这曲线!!逆天了!!
Ryan Carniato 是个什么级别的人物?
答:他自称是前端 JS 性能追求者、响应式编程的超级粉丝,是 Marko 核心团队成员、 SolidJS UI 库的作者。
怎么使用?
答:Solid 和 React Hook 代码风格、语法极其相似.
举个例子🌰
import { render } from "solid-js/web";
import { createSignal, createEffect, createMemo, mapArray } from "solid-js";
function Counter() {
const [count, setCount] = createSignal(0);
const increment = () => setCount(count() + 1);
createEffect((prev) => {
const sum = a() + b();
if (sum !== prev) console.log(sum);
return sum;
}, 0);
return (
<>
<button type="button" onClick={increment}>
{count()}
</button>
</>
);
}
render(() => <Counter />, document.getElementById("app"));
风格好像 React 啊
虽然长得像 React,但它的思路和 React 是完全不一样的。
推荐阅读知乎的一个高赞回答: