SuperAPI AI 工具集

react19-source-patterns

编程与开发

查看项目

更新于 10-14 12:48

技能介绍

用途

该参考文档面向将现有源文件迁移到 React 19 的开发者,提供逐项迁移模式说明,覆盖 API 变更、ref 处理方式变化以及 Context 更新等场景。

主要能力

文档以速查表形式列出迁移模式及对应操作,包括:

  • ReactDOM.render(...) → createRoot().render(),详见 references/api-migrations.md
  • ReactDOM.hydrate(...) → hydrateRoot(...),详见 references/api-migrations.md
  • unmountComponentAtNode → root.unmount(),就地修复
  • ReactDOM.findDOMNode → 直接使用 ref,就地修复
  • forwardRef(...) 包装 → ref 作为直接 prop,详见 references/api-migrations.md
  • Component.defaultProps = {} → ES6 默认参数,详见 references/api-migrations.md
  • 无参 useRef() → useRef(null),就地修复,添加 null
  • 遗留 Context → createContext,见 api-migrations.md#legacy-context
  • 字符串 ref(this.refs.x)→ createRef(),见 api-migrations.md#string-refs
  • 未使用的 import React from 'react' → 移除,仅在文件中没有 React. 用法时

PropTypes 规则

文档明确要求不要移除 .propTypes 赋值。prop-types 包仍可作为独立校验器使用;React 19 仅移除了 React 包内置的运行时检查,该包本身仍然有效。建议在任何 .propTypes 代码块上方添加注释:

// 注意:React 19 不再在运行时执行 propTypes 校验。 // 保留 PropTypes 仅用于文档和 IDE 工具支持。

使用方式

若要查看每项迁移的完整前后代码,需阅读 references/api-migrations.md。该文件包含完整模式,涵盖 forwardRef 与 useImperativeHandle 的边界情况、defaultProps 的 null 与 undefined 行为差异,以及遗留 context provider/consumer 的跨文件迁移。

适用场景与限制

适用于需要将代码库升级到 React 19 的迁移工作。文档本身为参考性质,具体实现细节和边界情况需依赖其引用的 references/api-migrations.md 文件。关于文档中未列出的 React 19 其他变更、具体版本兼容范围或工具链要求,资料暂未提供。