HTML 转 JSX 工具
将 HTML 转为 React 组件,处理属性映射、内联样式对象、SVG 名称及表单默认值。
将标记转换为 React 组件
粘贴 HTML 片段并填写组件名称。输出为默认导出的函数,使用 Fragment 包裹,可包含多个根节点。class、for 分别映射到 className、htmlFor,并处理 SVG 属性名和布尔属性。文本及属性值编码为字符串表达式,文本中的花括号不会被当成代码。
内联 CSS 转为使用驼峰属性名和字符串值的 React style 对象;CSS 自定义属性保留 -- 前缀。输入框的 value、checked 分别转为 defaultValue、defaultChecked,textarea 内容和选中选项转为 defaultValue。输出需放入启用 JSX 编译的 React 项目。
转换边界
HTML 在惰性 template 中解析,不执行输入脚本,也不请求输入中的资源网址。脚本、嵌入框架、样式元素、事件属性及不安全 URL 协议会被省略;注释和原始排版不会保留。工具用于转换 HTML,不能解析已有 JSX,也不会迁移完整应用。
React style 对象无法忠实表示内联 !important,工具会拒绝此类声明,请移至样式表。上限为 200,000 输入字符、20,000 节点、64 层及 1,000,000 输出字符。集成前请核对链接、样式和项目自定义组件。
常见问题
为什么表单值会转为 defaultValue?
静态 HTML 的 value 通常表示初始值。React 受控值需要 onChange;使用默认值可以保留可编辑的非受控表单行为,而不凭空生成应用状态。
页面会执行生成的组件吗?
不会,输出仅作为源码显示,可复制或下载 JSX 文件。