I've been using SolidJS for 8 months after getting fed up with React's performance bullshit. Last time I checked it was on 1.8.something - honestly I don't track version numbers religiously, but it's actively maintained and getting regular updates.
Here's the thing - SolidJS looks like React but doesn't act like React under the hood. When you change state, it updates only the exact DOM nodes that need changing. Not the whole component tree, not a virtual DOM diff, just the specific text or attribute that changed. From what I've seen in benchmarks, SolidJS consistently ranks near the top. React is usually somewhere in the middle. The exact positions change but the pattern is consistent.
Signals Beat React's useState Chaos
Signals are what React's useState should have been. No dependency arrays, no "why is my effect running infinitely" moments, no stale closures:
function Counter() {
const [count, setCount] = createSignal(0);
return (
<button onClick={() => setCount(count() + 1)}>
Count: {count()}
</button>
);
}
This component function runs once. When you click the button, only the text inside updates. No re-renders, no reconciliation hell, no wondering why your expensive calculations are running again.
The Performance Numbers Are Actually Real
I was skeptical about the benchmark claims until I migrated a React dashboard with around 500 DOM nodes. Bundle went from like 180KB to maybe 50KB? I didn't measure it scientifically but it was a big difference. Load times went from "time to make coffee" to actually usable.
From what I've seen in benchmarks, SolidJS consistently ranks near the top for both speed and memory usage. The difference is real.
Learning Curve: Not as Bad as You Think
If you know React hooks, you'll pick up SolidJS in a weekend. The main gotchas:
- Signals are functions:
count()
notcount
- Components don't re-run, so no local variables in render
- Stores for nested state instead of multiple useState calls
I spent maybe 3 hours debugging the parentheses thing when I started. First day I tried to use useEffect and got compiler errors for 20 minutes. After that, it's smooth sailing. The tutorial is actually good, unlike most framework docs that assume you're already an expert.
Production Reality Check
Used it on 3 production apps now. The ecosystem is smaller than React's, but the core stuff works great. TypeScript support is built-in, not an afterthought. Hot reload dies at least once a day, usually when you're deep in debugging and don't want to lose state - you have to restart the dev server.
Companies like Netlify and CodeSandbox use it in production. It's not some hobby project - it's solid enough (pun intended) for real applications.