Chapter 1: Confessions of a React Developer
The Five Stages of React Grief
Denial: “useState is fine. useEffect is fine. Everything is fine. This 47-dependency useEffect that runs on every render is totally fine.”
Anger: “WHY IS IT RE-RENDERING?! I LITERALLY JUST MOVED MY MOUSE!”
Bargaining: “Maybe if I just wrap everything in useMemo… and useCallback… and React.memo… surely then it will—”
Depression: stares at dependency array at 3 AM, questioning all life choices
Acceptance: “There are other frameworks. Good ones. Better ones, even.”
Welcome to acceptance.
Why You’re Reading This
Let me guess your story. You learned React because that’s what everyone was using. You mastered hooks because classes were “legacy.” You memorized the Rules of Hooks™ like they were the Ten Commandments. You got really good at explaining why “useEffect runs after render but before paint, except when it doesn’t.”
Then one day, something broke you. Maybe it was:
- The useEffect that needed 12 dependencies and you had no idea why
- Explaining to your designer why they can’t just change that CSS without breaking three components
- The bundle size. Oh god, the bundle size.
- Reading “you’re holding it wrong” on Stack Overflow for the 47th time
- That moment when you realized your entire codebase is just functions that return functions that return functions that return JSX
Or maybe you saw someone build the same app in Svelte with 1/10th the code and no useCallback in sight.
Whatever it was, you’re here now. And there’s good news: React isn’t the only way. It’s not even the best way for most things. It’s just the way you learned first.
What This Book Is (And Isn’t)
This book IS:
- A loving intervention for React developers
- A practical guide to actually superior alternatives
- Full of real migration strategies that won’t get you fired
- Occasionally disrespectful to useEffect (it knows what it did)
- A celebration of developer happiness
This book ISN’T:
- A React hate-fest (okay, maybe a little)
- Telling you to rewrite everything immediately
- Claiming one framework rules them all
- Going to make fun of you for using React (the framework is the problem, not you)
What You’ll Learn
Each chapter covers a different path out of React dependency hell:
- Vue - For when you want reactivity that feels like it was designed by humans for humans
- Svelte - For when you realize the framework should disappear at build time
- Solid - For when you love JSX but hate re-rendering everything constantly
- Angular - For when you want opinions, structure, and a framework that won’t gaslight you
- Alpine - For when you just need a sprinkle of interactivity, not a 300kb dependency
- Lit - For when you’re tired of framework churn and want to bet on web standards
- HTMX - For when you realize most of your JavaScript was unnecessary
- Astro - For when content sites don’t need megabytes of React
Plus actual, practical migration strategies that work in the real world. With real teams. And real deadlines.
A Word of Encouragement
You are not a bad developer for using React. You used what was available, popular, and well-documented. You mastered something difficult. Those skills aren’t wasted—you understand state management, component architecture, and the problems frameworks solve.
But here’s the thing: you deserve better than prop drilling. You deserve better than useEffect dependency arrays. You deserve to write code that makes sense the next day, not just in the moment of divine inspiration when the dependencies finally aligned.
You deserve frameworks that feel like they’re on your side.
Let’s find you one.
“I spent three years thinking I just wasn’t smart enough to understand useEffect. Turns out it just doesn’t make sense.” — Every Developer Ever