我为什么觉得 React 正在逐渐失去吸引力?

你写 Web 页面用 React,做桌面用 Electron + React,写原生应用用 React Native,做三维交互用 React Three Fiber,写状态管理要用 Redux,动画用 Framer Motion,连数据流都讲 "One-Way Binding"。它有一种宗教般的统治力,仿佛不写 React,你就不是"现代前端"。

但最近一两年,我越来越感受到 React 的魅力正在悄然消退,尤其是对新项目、新手、甚至资深开发者而言,React 已经不再是"无脑首选"。我不是说 React 要凉了,但它的"统治时代"确实过去了。

一、从"最小"走向"复杂"

React 最初的理念是 "just JavaScript",逻辑就是函数、状态就是变量、更新就是副作用,它是为了减少抽象而生的

但现在的 React 项目呢?

  • useEffect 写出了一堆"时间同步陷阱"
  • useCallback、useMemo 滥用反而性能更差
  • 状态 lifting 到处都是,Props drilling 写到手软
  • Context 不推荐用,Redux 太重,Zustand 又太轻
  • 组件里几乎要维护 4 套状态:UI、数据、缓存、副作用

你曾以为 React 是轻量,但它需要你理解的心智负担比 Vue 高得多。

React 开发者日常就像这样:

js 复制代码
const fetchData = useCallback(async () => {
  const data = await getUser();
  setState(data);
}, []);

useEffect(() => {
  fetchData();
}, [fetchData]);

你不觉得你在和"副作用调度器"打太极吗?


二、不是 React 变弱了,是其他框架太强了

这几年,其他框架已经全面崛起

1. Vue 3 Composition API + SFC 已成标配

  • 写法更自然,类型推导清晰
  • ref, computed, watchuseEffectuseMemo 好理解
  • 不用 memo,不用 callback,不用担心闭包陷阱
  • Vue 模板语法能表达更多动态逻辑,更适合业务团队快速开发

2. Svelte 的零虚拟 DOM 更彻底

  • 不靠虚拟 DOM,而是编译期做优化
  • 写起来像原生 JS,但比 React 清晰太多
  • 动画、响应式、组件通信几乎是零学习成本

3. SolidJS 成为性能天花板

  • 语法像 React,但运行时是 Signals + 编译优化
  • 模板是 compile 出去的,几乎没有虚拟 DOM overhead
  • 性能测试秒杀所有框架(Vite 官网都有引用)

如果你只是惯性使用 React,很可能错过了更好的体验和更高的效率。


三、React 生态的膨胀开始拖慢开发效率

React 不再是一个"简单的 UI 框架",它成了一个编排复杂的"半平台型"技术栈

  • 状态管理:Redux / Recoil / Zustand / Jotai / Valtio / Signal...
  • 表单:Formik / React Hook Form / Final Form ...
  • 路由:React Router / TanStack Router ...
  • 服务端渲染:Next.js / Remix / RSC / App Router ...
  • 样式方案:CSS-in-JS(Emotion, Styled-Component)/ Tailwind / Vanilla Extract ...

几乎每一样都没有标准答案,每一样都能吵起来。新人进来,光是选型都能花一周,开发效率被"选技术栈"拖垮了

相比之下,Vue 的官方"集成策略"简洁得多:

  • 路由 => vue-router
  • 状态管理 => pinia
  • 构建 => vite(尤雨溪亲自牵头)
  • SSR => Nuxt3
  • 动画 => transition、GSAP

四、React 的 API 越来越"不 React"

你有没有发现,从 React 18 开始,你要学的"非 React 核心知识"越来越多:

  • React Server Components(RSC)
  • Suspense、lazy、streaming
  • Hydration / Partial Hydration
  • use、React Cache、Flight协议
  • Next.js App Router 架构

这些概念对于普通前端开发者过于底层、过于复杂,远远超出一个 UI 库的范畴。

本来你是来写页面的,结果写着写着你在研究操作系统和网络协议。


五、React 社区逐渐失去"创造者"氛围

过去的 React 社区是"创作者的天堂":

  • Redux、Recoil、MobX、Jotai 争鸣
  • styled-components、Emotion 引领 CSS-in-JS 潮流
  • react-query、SWR 等创新思路百花齐放

但现在呢?

  • 大厂走向 Server Component,逐步"黑箱化"
  • 小团队则被新框架吸引:Vue、Svelte、Solid...
  • 开源创新越来越被 App Router 和 RSC 掣肘

React 正走向中心化,但这种中心是 "不透明 + 不兼容" 的。Next.js 成了 React 的"新帝国",而不是"乐高积木"。


六、我为什么还在用 React(但不再推荐)

说了这么多,我现在的项目还在用 React。但我不再推荐它,原因只有一个:

React 不是不能用,而是它不再是性价比最高的选择

如果你已经精通 React,并维护长期系统,那当然可以继续。

但如果是:

  • 新项目
  • 小团队
  • 面向 Web App 的产品型开发
  • 想要更快迭代、更好 DX、更少心智负担

那么:

  • Vue3 + Vite 是综合成本最低的
  • SvelteKit 是最优雅的渐进全栈体验
  • Solid 是最快速的编程体验之一(但生态小)
  • Qwik 正在 Server/Streaming 上走出一条未来之路

React 没有"死亡",但它正在"退潮"

就像当年的 jQuery,也曾无处不在,但它不再是主流。

React 依然有庞大的社区、强大的兼容性、丰富的库。但对前端开发者来说:

框架是工具,不是信仰。


🙂你们怎么看?

📌 你可以继续看我的系列文章

相关推荐
JunjunZ8 分钟前
unibest框架开发uniapp项目:兼容小程序问题
前端·vue.js
lyc2333339 分钟前
鸿蒙Next应用启动框架AppStartup:流程管理与性能优化🚀
前端
Data_Adventure9 分钟前
Vue 3 作用域插槽:原理剖析与高级应用
前端·vue.js
EndingCoder14 分钟前
React Native 开发环境搭建(全平台详解)
javascript·react native·react.js·前端框架
curdcv_po18 分钟前
报错 /bin/sh: .../scrcpy-server: cannot execute binary file
前端
小公主18 分钟前
用原生 JavaScript 写了一个电影搜索网站,体验拉满🔥
前端·javascript·css
代码小学僧19 分钟前
通俗易懂:给前端开发者的 Docker 入门指南
前端·docker·容器
Moment21 分钟前
为什么我在 NextJs 项目中使用 cookie 存储 token 而不是使用 localstorage
前端·javascript·react.js
lyc23333321 分钟前
鸿蒙Next加解密算法框架入门:安全基石解析🔐
前端
用户114818678948421 分钟前
Vue3 性能优化解析
前端