无需登录 数据私有 本地保存

HTML转JSX/TSX工具 - 替换核心属性

16
0
0
0

HTML → JSX / TSX 转换器

智能转换HTML标签属性为JSX/TSX兼容格式,支持className、htmlFor、内联样式对象、自闭合标签、事件驼峰命名等

Ctrl+Enter 快速转换
快速示例: 基础HTML 表单元素 内联样式 事件处理 SVG元素
HTML 输入 0 字符
JSX 输出 0 字符
常见问题 & 知识点

JSX 是 JavaScript 的语法扩展,更接近 JavaScript 而非 HTML。因此:

  • class 是 JavaScript 的保留关键字,所以改用 className
  • for 也是保留关键字(用于循环),改用 htmlFor
  • 事件处理器使用驼峰命名(如 onClick),与 JavaScript 的 DOM API 保持一致
  • 内联样式需要是 JavaScript 对象而非字符串

HTML 的 style="color: red; font-size: 14px;" 在 JSX 中变为:

style={{ color: 'red', fontSize: '14px' }}

注意:CSS 属性名转为驼峰命名(font-sizefontSize),值用单引号包裹,外层是 JSX 表达式花括号。

所有没有子元素的标签在 JSX 中都必须自闭合,包括:<br /><hr /><img /><input /><link /><meta /><area /><base /><col /><embed /><source /><track /><wbr /> 等。

HTML 中的全小写事件属性在 JSX 中转为驼峰命名:

  • onclickonClick
  • onmouseoveronMouseOver
  • onkeydownonKeyDown
  • ontouchstartonTouchStart

规律:去掉 on 前缀后,将剩余部分转为 PascalCase 再加回 on

不需要。data-*aria-* 属性在 JSX 中保持原样(连字符格式)。例如 data-user-idaria-label 在 JSX 中写法不变。这是因为它们遵循的是 HTML 规范而非 JavaScript 命名约定。

HTML 注释 <!-- 注释 --> 转为 JSX 注释 {/* 注释 */}。HTML 实体如 &amp;&lt;&gt;&quot;&nbsp; 等会被解码为对应的 Unicode 字符,因为在 JSX 中可以直接使用这些字符。