Hacker News new | ask | show | jobs
by ricardobeat 524 days ago
That’s only true on the surface: if you chose React, you had to rebuild and relearn everything about once every two years. Averages out to about the same workload as following the latest fad. Maybe more, since refactoring legacy code is 10x harder than building from scratch.
1 comments

this is just not true. even the worst offenders (looking at you, react-router) do not require to "rebuild and relearn everything". What an unnecessary hyperbole.
Maybe not React itself, but the ecosystem as a whole. I can list some of these changes that generated a lot of work from memory:

- the move from in-browser JSX compilation to build tools / webpack

- the move from class components to functional components and hooks

- all the changes related to ES6 classes and modules + build system

- server-side components

- Flux -> Redux

- Redux -> MobX -> Relay -> Redux Toolkit -> Context API -> Zustand / Jotai / Recoil -> react-query (next: zero?)

- Next.js and Remix, 7 react-router versions (latest with major breaking API changes again)

- Signals and more SSR stuff (I stopped looking at this point)

And this is ignoring all the React Native churn over the years as I imagine not everyone is involved with that.

Even if your particular project didn’t go through all of these migrations, you had to relearn things to be able to work in other/newer projects.

It’s impossible to measure, but having written and used a ton of different frameworks, I really do feel like the overhead of keeping up with the changes was equal to or larger than learning a new one every couple years.

From that list, I believe Server-Side Components is a big offender in terms of complexity.

React Router changing its API so often felt unnecessary too.

I wouldn't call all of that churn though, as I believe most devs only had to deal with a subset of those. Some who got into React in 2019 could be writing the same kind of code today.

Frontend as whole, on the other hand...

Also Typescript, if your team started using it.
I really do have to relearn react-router every time I use it, then I pin it to that version so it doesn't break later. Last time was v6, now there's v7 since Nov '24.

Besides that, React churn isn't too bad. I have to fix builds, but I don't have to relearn everything about React. Unlike Angular.