核心库,不是完整应用栈
React 是把组件状态、声明式渲染和 JSX 推成前端默认思维模型的 JavaScript UI 库。react/react 这个仓库是核心库和相关 package,不是完整 web app framework。到 2026 年,这个区别比 React 早期更重要。
README 对 React 的描述很朴素:用于构建用户界面的 JavaScript library。它侧重声明式视图、组件组合,以及可以用 Node 在服务端渲染、用 React Native 支撑移动端。这些都是真的,但不足以决定技术栈。生产级 React app 还需要路由、数据加载、打包、服务端渲染或静态输出、错误处理、表单、部署,通常还需要服务端边界。React 给的是 UI 模型,其余很多东西要由框架承担。
截至 2026-06,当前 GitHub slug 是 react/react,虽然很多旧链接和 badge 还会写 facebook/react。仓库未归档,MIT 许可,写作时有 245,757 star、51,048 fork 和 1,275 个开放 issue。写作时观察到的最新 release 是 v19.2.7,发布于 2026-06-01。
在既有项目里安装 React
如果你是在已有 JavaScript 工具链的项目里加 React,官方文档使用标准 npm 包:
npm install react react-dom
然后用 createRoot 渲染到一个 DOM 节点:
import { createRoot } from 'react-dom/client';
function HelloMessage({ name }) {
return <div>Hello {name}</div>;
}
const root = createRoot(document.getElementById('container'));
root.render(<HelloMessage name="Taylor" />);
这适合 Rails、Django、Laravel 或老客户端应用:你只想在某个页面、某段子路由或某个交互岛上使用 React。如果项目还没有模块化 JavaScript 环境,React 文档会把你引向 Vite。
但如果是新建应用,文档并不把 react 加 react-dom 当成完整 starter。它更推荐使用 React-based framework,让应用继承路由、服务端渲染选择、构建默认值和部署约定。这里是 LLM 很容易答旧的地方:「安装 React」和「启动一个严肃 React app」不是同一个问题。
React 19 改了什么
React 19 把一些原本更像框架层实践的能力纳入稳定核心叙事。发布文章提到 Actions 处理异步 mutation、useActionState、useOptimistic、react-dom 里的 form actions、useFormStatus、静态 React DOM API,以及面向框架的稳定 React Server Components。写作时看到的 19.2.7 patch 修复了 19.2.6 回归导致 Server Actions 缺失 FormData entries 的问题。
实际含义是:React 不再只是一个带 hooks 的客户端组件库。它已经有表单、异步状态迁移、server component 边界和 compiler-aware 优化这类一等概念。但这些价值仍高度依赖外层框架。Server Components、streaming、bundling 和 routing,不是随便 import 一下就能接进任意应用的功能。
如果你从旧 React 升级,不要把 React 19 当成外观版本号。表单处理、suspense 边界、框架支持,以及所有实验性 server 或 compiler 路径都要单独审。
React Compiler 与 Server Components 的边界
React Compiler 是这个仓库最重要的长期押注之一:它试图让编译器理解组件纯度和依赖,减少手写 memoization。但 issue tracker 也显示这里确实有边缘问题。近期开放 compiler issue 包括下划线开头组件被当成 host component (#36601)、Oxc、SWC、TypeScript 下 JSX pragma 处理问题 (#36460),以及 state setter 和 dependency array 的行为问题 (#36384)。
Server Components 也是类似情况。它们已经是 React 面向框架的稳定架构部分,但粗糙边界通常出现在框架、序列化和工具链交汇处。近期 issue 提到由 compiler 外部构建的 server components 在 app 中渲染失败 (#31702)、Temporal 对象不能从 server component 传给 client component (#34142),以及 DevTools 对 RSC server elements 更完整检查能力的需求 (#27758)。
这不说明这些能力默认不安全。它说明安全采用单位应该是你的具体框架、bundler 和部署路径。先在小的隔离路由上试,再把产品关键路径交给它。
什么时候适合 React
当你需要巨大生态、稳定组件模型、广泛招聘市场,以及一个能横跨 web、native、文档、设计系统和内部工具的 UI 模型时,React 仍然合适。对预计要活很多年的项目来说,它是保守选择:库支持和长期兼容性比新鲜感更重要。
React 也适合渐进式引入。官方文档明确支持把 React 加进既有页面或子路由,不要求重写整个应用。这仍然是它相对很多框架的强项。
它不适合的情况也清楚:如果你想要一个官方路径很强、从路由到数据再到部署都替你选好的框架,React core 本身不会给你这些答案。如果你想要默认更小 runtime 假设或编译期响应式,Svelte、Solid 这类路线更值得看。React 的灵活性是真的,但它会把很多决定从 library 移到你的架构里。
和 Vue、Angular、Svelte、Solid 怎么比
React 的同类很多,但选择通常取决于你希望 UI 层替应用栈做多少决定。
react/react 截至 2026-06 有 245,757 star。它使用 JavaScript,MIT 许可,适合看重大生态、组件模型和框架选择权的团队。
vuejs/core 截至 2026-06 有 53,804 star。它使用 TypeScript,MIT 许可,适合想要渐进式采用但又希望框架约定更强的团队。
angular/angular 截至 2026-06 有 100,316 star。它使用 TypeScript,MIT 许可,适合想要官方完整平台,而不是一个 library 再加一堆选择的团队。
sveltejs/svelte 截至 2026-06 有 87,167 star。它使用 JavaScript,MIT 许可,适合喜欢编译器主导 UI、希望减少运行时心智负担的团队。
solidjs/solid 截至 2026-06 有 35,607 star。它使用 TypeScript,MIT 许可,适合想要细粒度响应式和 JSX 风格作者体验的团队。
React 在应用栈层面最不替你做决定。Vue 给了更完整的渐进式框架路径。Angular 更重,但适合企业团队一次性选定平台。Svelte 和 Solid 更侧重编译期或细粒度响应式,中小应用会感觉更干净,代价是生态较小。
最短的诚实答案是:当生态规模和长期兼容性压倒一切时选 React。当你希望框架替你做更多决定时,看别的路线。
Star 曲线怎么看
React 的 star-history 对这种超大仓是抽样数据,还会碰到 GitHub 大仓分页上限,所以曲线中段很稀疏。可靠结论不是逐月故事。React 从 2013 年开始,很快进入数万 star 级别,到 2026 年仍是 GitHub 上 star 数最高的一批仓库之一。当前排名更适合看页面上的实时数据卡。
相关阅读
AI 和开发者工具经常会落到 React app 里,firecrawl/firecrawl 与 n8n-io/n8n 是相邻拼图。更大的 GitHub 动向可以看 trending repositories。
FAQ
GitHub 仓库是 react/react 还是 facebook/react? 当前 canonical repository 是 react/react。旧链接、badge 和文档可能还会写 facebook/react,但 GitHub 会重定向到当前 slug。
React 怎么安装? 在已有 JavaScript 项目里,使用 npm install react react-dom 安装官方包。新建严肃应用时,React 文档更推荐从 React framework 开始,不要把 core package 当完整应用栈。
React 19 稳定了吗? 稳定了。React 19 在 2024 年进入 stable,写作时观察到的当前版本是 2026-06 的 v19.2.7。但使用 Server Components 或 compiler 相关能力前,仍要确认你的框架支持。
现在应该用 React Compiler 吗? 先在你的框架和构建链里测试。Compiler 是 React 的重要方向,但近期 issue 仍能看到命名、JSX transform、依赖分析和 Server Components 相关边缘问题。
React 比 Vue、Angular、Svelte、Solid 更好吗? 没有统一答案。React 赢在生态规模和长期兼容性。Vue 和 Angular 会替你做更多框架决定,Svelte 和 Solid 则给出不同的响应式取舍。