React 19:概览与迁移
React 19 继续强化了 React 的“并发 + Suspense”心智模型,并把 Actions/表单 相关能力变得更易用。在这个站点里,你可以把它当作 React 19 的入口页:先搞清楚“新增/推荐用法”,再去对应的 Reference 查细节。
TL;DR
- 如果你写表单:优先理解 Actions、
useActionState、useFormStatus。 - 如果你做体验:理解
useTransition、useDeferredValue与 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:最小检查清单
- 依赖一致性:确保
react与react-dom版本一致(同一个 major/minor)。 - 并发相关误区:避免把“性能问题”只归因于 Hooks;先用过渡更新与拆分渲染边界。
- 表单与提交:如果你的页面有大量表单交互,优先把“pending/错误/成功”的状态管理梳理为 Actions 相关模式。
- 示例/组件拆分:把“入口文件/业务组件/数据 mock”拆成独立模块,避免单文件巨石。
下一步
- 学习表单与异步:/learn/advanced-forms
- 深入理解 Actions:/learn/actions
- 学习过渡更新:/reference/react/use-transition
- 学习 Suspense:/learn/suspense
- Suspense 系统深挖:/learn/suspense-deep-dive
动手练习
运行并修改下面的组件,熟悉交互式示例的编辑与预览。
🌐浏览器运行