# React

482 Hacker News commenters recommended React and 560 criticized it, November 2025 to November 2026. It was recommended in 13 of 13 months; owners who said how long report a median of 10 years (21 owners).

**Verdict:** Recommended for building complex, state-heavy web apps from composable components, with huge ecosystem and AI training data, though critics find hooks confusing and apps easily over-engineered or slow.

## Why people recommend it

- Handles complex interconnected state well (5 comments): "when you have complex state and need all your elements to update as that state changes, then the benefits of React (or similar frameworks) become more apparent" ([source](https://news.ycombinator.com/item?id=47105790)) "before React had (a) hooks and (b) a stable context API and (c) tanstack-query/react-query or GraphQL - state handling WAS a mess" ([source](https://news.ycombinator.com/item?id=47032119)) "especially with contexts it's very easy to express all of this complex interconnected state of a webapp in a consistent way" ([source](https://news.ycombinator.com/item?id=47030444))
- Composable, encapsulated component model (7 comments): "react can be pure functions that take in props. Given a set of props, ideally data primitives, the outputted view is guaranteed. it's nice." ([source](https://news.ycombinator.com/item?id=47028010)) "A major feature of React (like Java) is the ability to reduce the blast radius of errant colleagues through much stricter boundaries." ([source](https://news.ycombinator.com/item?id=49167473)) "Frameworks like React that add structure to the data flow, component encapsulation, and a huge repertoire of patterns to train on" ([source](https://news.ycombinator.com/item?id=48160274))
- Works well with AI coding agents (5 comments): "switching BACK to react eliminated these and enabled the LLM to continue writing features at no (current) technical or performance cost" ([source](https://news.ycombinator.com/item?id=46608692)) "the training data for React is so massive and the patterns so standardized that the AI productivity gains are impossible to ignore." ([source](https://news.ycombinator.com/item?id=46315756)) "Frameworks like React that add structure to the data flow, component encapsulation, and a huge repertoire of patterns to train on" ([source](https://news.ycombinator.com/item?id=48160274))
- Scalable abstractions worth learning (5 comments): "If what you're trying to build is a perfect match for the full set of abstractions React provides then it's gonna be cleaner to use React" ([source](https://news.ycombinator.com/item?id=49587739)) "it succeeds because it has a scalable abstractions which have relatively good ROI when you learn it even with its warts" ([source](https://news.ycombinator.com/item?id=48277071)) "I think a lot of the continued success of React comes from people continuing to choose its set of tradeoffs over others" ([source](https://news.ycombinator.com/item?id=49951486))

## What people warn about

- Hooks are leaky and restrictive (5 comments): "Hooks made simple things simpler, but hard things harder, code with lots of boilerplate was replaced with code with leaky abstractions full of various workarounds" ([source](https://news.ycombinator.com/item?id=48075972)) "I like the React model of components being (ideally) a function of state, but I don't touch hooks where possible." ([source](https://news.ycombinator.com/item?id=48274352)) "The original react documentation is fine, but focused almost entirely on class components. What was there on hooks was either outdated or outright harmful." ([source](https://news.ycombinator.com/item?id=49955489))
- Easy to overcomplicate apps (5 comments): "it's too easy to write something an order of magnitude more complex than it needs to be if you don't know what you're doing" ([source](https://news.ycombinator.com/item?id=48274348)) "The problem with React is that mediocre developers can use it to build big things that are too big for them to handle." ([source](https://news.ycombinator.com/item?id=48564457)) "React is fine. It's main problem is a lack of guardrails to stop bad engineering cultures from doing stupid things." ([source](https://news.ycombinator.com/item?id=48280749))
- Slower and heavier than alternatives (5 comments): "React done poorly can be slow. Bad code can just force the virtual DOM to diff unnecessarily 1000s of times and your app will still work fine for the most part." ([source](https://news.ycombinator.com/item?id=47037863)) "This helps developers build complex UIs faster, but it adds extra memory and runtime overhead compared to simpler approaches." ([source](https://news.ycombinator.com/item?id=47367485)) "One of the most hyped features of React was a 'virtual DOM' that supposedly improved rendering speed, but actually did not significantly improve performance." ([source](https://news.ycombinator.com/item?id=48605687))
- Bloated dependency-heavy tooling (3 comments): "modern node-based web development with tens of thousands of npm dependencies and thirteen separately-documented API and deployment environemnts to learn" ([source](https://news.ycombinator.com/item?id=46313961)) "Like the browserify Node polyfills, babel-polyfill and runtime with core-js, React -> fbjs, Material UI -> JSS and plugins, styled-components." ([source](https://news.ycombinator.com/item?id=50301718)) "It's like SaaS for developers, only instead of paying a monthly subscription in cash, you have to pay a monthly subscription in man-hours." ([source](https://news.ycombinator.com/item?id=46143766))

## Alternatives hackers recommend

- [htmx](https://hackerapproved.com/p/htmx.md): 320 recommend
- [Svelte](https://hackerapproved.com/p/svelte.md): 151 recommend
- [Vue](https://hackerapproved.com/p/vue.md): 121 recommend
- [Angular](https://hackerapproved.com/p/angular.md): 82 recommend
- [SolidJS](https://hackerapproved.com/p/solid.md): 69 recommend

## Cite as

Hacker Approved, "React", https://hackerapproved.com/p/react/ (counts from 1,795,640 Hacker News comments, November 2025 to November 2026).
