logoalt Hacker News

TimTheTinker04/23/20251 replyview on HN

It's also easy to confuse problems that arise from failing to adequately manage the gotchas with problems inherent in the tool itself. There's a subtle distinction there that's easy to miss, especially for those with a blame-the-system sort of attitude (which I don't entirely fault).

One company I worked for had a very slow frontend. It was common there to blame the slowness on React. "React is just kind of slow."

Another company I worked for had a much larger React-based frontend, and it was fast-loading and snappy by comparison.

The difference is that the second company had much more well-established good practices in its design system, the codebase, the enforced lint checks, and the general knowledge of its engineers. They avoided performance traps that caused multiple renders of things. (The first company's frontend would render a given screen 12+ times for some state changes.)


Replies

KronisLV04/26/2025

> The first company's frontend would render a given screen 12+ times for some state changes

Might just be me, but it feels like a good framework/library would put in a lot of work to avoid or at least alert about these kinds of issues so they can’t stay very long without being fixed.

I’ve seen the same in React (even infinite render loops which couldn’t be ignored and had to be fixed) and to a lesser degree with the likes of Vue as well.

I’m not sure what’s missing but having a tool that is easy to use in the wrong way doesn’t inspire confidence.