Does anybody like React?

Does anybody like React?

有人喜欢 React 吗?

The End In my experience, React (et al) is almost always the wrong solution. React has its place, I’m sure, but it has turned into the proverbial hammer that makes everything look like a nail. I also know that React can be done well, but it seems to almost never be done well. 终局:根据我的经验,React(及其相关技术)几乎总是错误的解决方案。我确信 React 有其用武之地,但它已经变成了那把众所周知的锤子,让所有东西看起来都像钉子。我也知道 React 可以用得很好,但它似乎几乎从未被用好过。

JS-heavy approaches are not compatible with long-term performance goals In reality, for any decently sized JS-heavy project, you should expect that what you build will be slower than advertised, it will keep getting slower over time while it sees ongoing work, and it will take more effort to develop and especially to maintain than what you were led to believe, with as many bugs as any other approach. 重 JS 的开发方式与长期性能目标不兼容。实际上,对于任何规模尚可的重 JS 项目,你应该预料到:你构建的东西会比宣传的要慢,随着持续的开发,它会变得越来越慢,而且其开发和维护成本会远超你的预期,同时它所包含的 Bug 并不会比其他方案少。

Critical Security Vulnerability in React Server Components On November 29th, Lachlan Davidson reported a security vulnerability in React that allows unauthenticated remote code execution […] This vulnerability was disclosed as CVE-2025-55182 and is rated CVSS 10.0. React Server Components 中的严重安全漏洞:11 月 29 日,Lachlan Davidson 报告了 React 中的一个安全漏洞,该漏洞允许未经身份验证的远程代码执行……该漏洞被披露为 CVE-2025-55182,CVSS 评分为 10.0。

Why use React? By default, you get the dreaded hydration pattern—do all the computing on the server in JavaScript (yay!), serve up HTML straight away (yay! yay!) …and then serve up all the same JavaScript that’s on the server anyway (ya—wait, what?). 为什么要用 React?默认情况下,你会得到令人头疼的“注水”(hydration)模式——在服务器上用 JavaScript 完成所有计算(好耶!),直接提供 HTML(好耶!好耶!)……然后又把服务器上运行的那些 JavaScript 全部再发给客户端(等等,什么鬼?)。

I Built the Same App 10 Times: Evaluating Frameworks for Mobile Performance React’s mobile strategy inherently drives teams toward platform capture. The web offers an alternative: no gatekeepers, no platform fees, direct distribution. 我构建了 10 次同一个应用:评估移动端性能框架。React 的移动端策略本质上是在引导团队走向平台锁定。而 Web 提供了一种替代方案:没有守门人,没有平台费用,直接分发。

Is it Time to Regulate React? React’s core failure is compounded by confusing API design for which documentation is indecisive, essays are written, and correct usage is endlessly debated. 是时候监管 React 了吗?React 的核心失败之处在于其令人困惑的 API 设计,文档对此含糊不清,相关文章层出不穷,而关于如何正确使用它的争论也永无止境。

React Won by Default – And It’s Killing Frontend Innovation When teams need a new frontend, the conversation rarely starts with “What are the constraints and which tool best fits them?” It often starts with “Let’s use React; everyone knows React.” That reflex creates a self-perpetuating cycle where network effects, rather than technical fit, decide architecture. React 默认胜出——它正在扼杀前端创新。当团队需要一个新的前端时,对话很少从“约束条件是什么?哪种工具最适合?”开始。它通常以“我们用 React 吧,大家都懂 React”开始。这种条件反射创造了一个自我强化的循环,即网络效应而非技术契合度决定了架构。

The React Blog Post: Reflections and Reactions To dismiss this entire problem as a “skill issue” and imply all is good now because an external library solved an issue that React will allow you to do is very curious to me. […] You would think you can come back to a technology after three years and still be able to work on it - I mean, how much can it change? In any other stack, that might be true, but in frontend development, and React especially so - it’s too naive to think that. React 博客文章:反思与回应。将整个问题归结为“技术水平问题”,并暗示因为一个外部库解决了 React 本身允许你做的问题,所以现在一切都好了,这让我感到非常奇怪。……你可能会认为,三年后重拾一项技术依然可以上手——毕竟,它能变多少呢?在任何其他技术栈中这或许是真的,但在前端开发中,尤其是 React,这种想法太天真了。

Tech Founder? Entrepreneur? This is why you should avoid React.js in your app React isn’t just slow — it’s a bloated ecosystem with technical debt baked into its DNA. Yet despite this, it keeps being chosen. Why? 技术创始人?创业者?这就是你应该在应用中避免使用 React.js 的原因。React 不仅仅是慢——它是一个臃肿的生态系统,其 DNA 中就植入了技术债。尽管如此,它依然不断被选中。为什么?

React Still Feels Insane And No One Is Talking About It It would be too easy to just say React is, well, downright insane, and go on with our lives. But as reasonable primates, I believe we can do better. We can try to understand it. React 依然让人觉得疯狂,但没人谈论它。简单地说一句“React 简直疯了”然后继续我们的生活太容易了。但作为理性的灵长类动物,我相信我们可以做得更好。我们可以试着去理解它。

Conferences, Clarity, and Smokescreens My day-to-day consulting work, along with high-visibility industry data, shows that the React community is mired in a deep, measurable quality crisis. But attendees of React Summit who didn’t already know wouldn’t hear about it. 会议、清晰度与烟雾弹。我的日常咨询工作以及行业内的高可见度数据表明,React 社区正陷入一场深重且可量化的质量危机。但那些原本不知情的 React Summit 与会者却对此一无所知。

Next.js 15.1+ is unusable outside of Vercel Next.js has become a Vercel vendor lock-in disguised as an open-source framework. Save yourself the headache and choose something else for your “next” project. Next.js 15.1+ 在 Vercel 之外无法使用。Next.js 已经变成了一个伪装成开源框架的 Vercel 供应商锁定工具。省省心吧,为你的“下一个”项目选择其他方案。

Why Silicon Valley CTOs Are Secretly Moving Away from React Several CTOs mentioned a surprising problem: while React developers are plentiful, truly skilled ones who understand the deeper patterns are increasingly rare and expensive. […] Several companies reported that their most experienced engineers were getting frustrated with the growing complexity and leaving for roles using other technologies. 为什么硅谷的 CTO 们正在悄悄放弃 React?几位 CTO 提到了一个令人惊讶的问题:虽然 React 开发人员很多,但真正理解深层模式的资深人才却越来越稀缺且昂贵。……几家公司报告称,他们最有经验的工程师对日益增长的复杂性感到沮丧,并转而寻求使用其他技术的职位。

HTML is better than React!? […] baseline HTML that gets progressively enhanced into something better when JS is available… 1. Gives people a more usable experience earlier in the process. 2. Ensures that on slow connections your site doesn’t seem like trash. 3. Means that if something goes wrong, people can still use your site. HTML 比 React 更好!?……基础 HTML 在 JS 可用时可以渐进增强为更好的体验…… 1. 在流程早期为用户提供更可用的体验。 2. 确保在网络连接缓慢时,你的网站看起来不至于像垃圾。 3. 意味着如果出现问题,人们仍然可以使用你的网站。

You should know this before choosing Next.js Last weekend, Vercel disclosed a critical security vulnerability with Next.js. This type of issue is normal, but the way Vercel chose to handle it was so poor, reckless and disrespectful to the community that it has exacerbated my concerns about the governance of the project. 在选择 Next.js 之前你应该知道这一点。上周末,Vercel 披露了 Next.js 的一个严重安全漏洞。这类问题很正常,但 Vercel 处理它的方式如此糟糕、鲁莽且对社区不尊重,这加剧了我对该项目治理方式的担忧。

Stop Using and Recommending React I have used React for a long time. Trust me when I tell you: There is no reason to use it and a lot of reasons against it. 停止使用并推荐 React。我使用 React 已经很长时间了。相信我:没有任何理由使用它,但有太多的理由反对它。

Moving on from React, a Year Later Maybe it’s the changing interest rates or political winds, but I think the “fat client” era JS-heavy frontends is on its way out. The hype around edge applications is misplaced and unnecessary for building many different flavors of successful businesses. Many interactions are not possible without JavaScript, but that doesn’t mean we should look to write more than we have to. 告别 React 一年后。也许是利率变化或政治风向的原因,但我认为“胖客户端”时代的重 JS 前端正在走向终结。围绕边缘应用的炒作是错位的,对于构建各种成功的业务来说也是不必要的。许多交互没有 JavaScript 是无法实现的,但这并不意味着我们应该去写比必要需求更多的代码。

If Not React, Then What? Frameworkism preaches that the way to improve user experiences is to adopt more (or different) tooling from the framework’s ecosystem. This provides adherents with something to do that looks plausibly like engineering, except it isn’t. It can even become a totalising commitment; solutions to user problems outside the framework’s expanded cinematic universe are unavailable to the frameworkist. 如果不选 React,那选什么?“框架主义”宣扬提升用户体验的方法是采用框架生态系统中更多(或不同)的工具。这为追随者提供了一些看起来像是工程实践的事情做,但实际上并非如此。它甚至可能变成一种极端的执念;对于框架主义者来说,框架那庞大的“电影宇宙”之外的用户问题解决方案是不可见的。

I don’t have time to learn React React proponents might claim that React will teach you modern UI, but from what I’ve seen it barely copes with modern UI. autofocus is broken, custom elements don’t work in all but the experimental version, using any “modern” features like dialog or popovers requires useEffect, and the synthetic event system teaches you so little about how DOM actually works. This isn’t modern UI, it’s UI from 2013 at its inception. 我没时间学 React。React 的支持者可能会声称 React 能教你现代 UI,但据我所见,它几乎无法应对现代 UI。autofocus 是坏的,自定义元素除了实验版本外都无法工作,使用任何像 dialog 或 popovers 这样的“现代”功能都需要 useEffect,而合成事件系统让你对 DOM 的实际工作原理知之甚少。这不是现代 UI,这是 2013 年 React 诞生时的 UI。

Liskov’s Gun: The parallel evolution of React and Web Components React has become a bloated carcass of 利斯科夫之枪:React 与 Web Components 的平行演进。React 已经变成了一个臃肿的躯壳……