跳转到主要内容

React 19:概览与迁移

React 19 继续强化了 React 的“并发 + Suspense”心智模型,并把 Actions/表单 相关能力变得更易用。在这个站点里,你可以把它当作 React 19 的入口页:先搞清楚“新增/推荐用法”,再去对应的 Reference 查细节。

TL;DR

  • 如果你写表单:优先理解 ActionsuseActionStateuseFormStatus
  • 如果你做体验:理解 useTransitionuseDeferredValue 与 Suspense 的配合。
  • 如果你做工程:把“长示例”拆成模块(多文件)来讲清楚,而不是一坨代码。

React 19 值得优先掌握的 4 件事

1) Actions:让表单与异步状态更自然

在很多应用里,“提交表单 → 等待异步 → 显示 pending/错误/成功”是最常见的交互之一。React 19 的方向是:把这套流程变得更可组合、更声明式

  • 参考:useActionState:/reference/react/use-action-state
  • 参考:useFormStatus:/reference/react/use-form-status

2) 过渡更新:把“不卡顿”变成默认

当一次更新会触发大量渲染(过滤、搜索、切换页面内容),用 useTransition 把它标记为“非紧急”,让输入/点击保持即时响应。

  • 参考:useTransition:/reference/react/use-transition
  • 参考:useDeferredValue:/reference/react/use-deferred-value

3) Suspense:不仅是“加载中…”

Suspense 的核心不是 spinner,而是 把 UI 分成可独立就绪的块,让“先看到能看的,再补齐剩下的”成为一种结构化能力。

  • 学习:/learn/suspense
  • 参考:/reference/react/suspense

4) 内容与示例:清晰胜过复杂

在文档中,最常见的“学习障碍”不是 API,而是示例太长、入口不清晰、模块混在一起。你会在本项目里看到:

  • 交互示例以 可运行 为第一优先级
  • 静态长示例以 多文件 Tab 的方式拆分呈现

迁移到 React 19:最小检查清单

  1. 依赖一致性:确保 reactreact-dom 版本一致(同一个 major/minor)。
  2. 并发相关误区:避免把“性能问题”只归因于 Hooks;先用过渡更新与拆分渲染边界。
  3. 表单与提交:如果你的页面有大量表单交互,优先把“pending/错误/成功”的状态管理梳理为 Actions 相关模式。
  4. 示例/组件拆分:把“入口文件/业务组件/数据 mock”拆成独立模块,避免单文件巨石。

下一步

动手练习

运行并修改下面的组件,熟悉交互式示例的编辑与预览。

🌐浏览器运行
React 文档