· Tech

Why I switched from React to Solid

After years with React, I explored alternatives. Here's what I learned about signals, fine-grained reactivity, and why the grass isn't always greener.

After five years of building with React, I decided to explore what else was out there. Not because React failed me—it didn’t—but because I wanted to understand the alternatives people kept talking about.

Solid caught my attention for a few reasons: fine-grained reactivity, no virtual DOM, and surprisingly familiar syntax. Here’s what I learned after rebuilding a side project with it.

The good parts

Signals are genuinely nice. Once you understand that reactivity is tied to the signal itself (not the component), things click. No more worrying about stale closures or dependency arrays.

Performance is real. The fine-grained updates mean you’re not re-rendering entire component trees. For UI-heavy applications, this matters.

The tricky parts

The ecosystem is smaller. You’ll find yourself building things that would be a npm install away in React. Sometimes that’s fine. Sometimes it’s not.

Mental model shift takes time. JSX looks the same but behaves differently. Components only run once. That takes getting used to.

Would I switch?

For new projects where I control the stack? Maybe. For anything with a team or existing React codebase? Probably not yet.

The grass isn’t greener—it’s just different grass. Both approaches have tradeoffs. Understanding those tradeoffs is the actual value here.