为什么不能只用 React 主版本判断所有能力?
- 小版本差异: 同属 React 19 的不同版本可能拥有不同导出与行为,新组件或 Hook 不应被默认视为最初版本就存在;
- 配套依赖: react、react-dom、类型包、框架和编译工具需要兼容,类型提示存在也不能证明运行时具备同名 API;
- 验证依据: 查看项目锁定版本、实际导出和对应工具支持,升级后运行相关构建与交互检查;
稳定版与预发布能力怎样选择?
- 稳定能力: 以项目实际安装版本所提供的公共接口为准,优先使用具有明确支持的能力;
- 预发布能力: Canary、Experimental 的适用范围与稳定性不同,需要固定版本并接受接口变化,不能在生产假设长期兼容;
- 环境约束: 同名 React 能力可能仅适用于客户端、服务端组件、DOM 或开发构建,版本支持与运行环境都要满足;
如何区分运行时、编译器与框架职责?
| 层次 | 典型责任 |
|---|
| React | 组件、状态、调度与内置组件 |
| React DOM | 浏览器根节点、DOM 集成、HTML 渲染 |
| React Compiler | 构建时分析和自动缓存 |
| 框架 | 路由、加载、RSC 打包与部署集成 |
- 避免混淆: 安装 React 不会自动开启编译器,也不会自动得到服务端组件路由与数据管线;