HTML 轉 JSX 工具

將 HTML 片段轉換為包含 React 屬性名和行內樣式物件的 JSX。

前端與設計
正在準備工作區…

輸入

正在準備工作區…

輸出
結果將顯示在這裡。

使用方法

  1. 貼上 HTML 片段、開啟 UTF-8 檔案或載入「範例」。
  2. 選擇縮排,然後點選「轉換為 JSX」。
  3. 檢查產生的標記,再複製或下載。

將 HTML 標記用於 React

從模板複製的 HTML 通常需要修改後才能放入 JSX。常見區別包括 className、htmlFor、自閉合元素以及行內樣式的形式。

工具負責轉換標記結構。元件狀態、事件回呼和應用邏輯仍需在使用產生 JSX 的位置自行編寫。

屬性與樣式轉換

HTML 屬性會映射到 React 形式,包括 className 和 htmlFor。常見 SVG 屬性使用 React 要求的大小寫。

行內 CSS 轉換為 style 物件,結果按 JSX 格式化。字面文字會視需要轉義,不會被當作 JavaScript 表達式。

範例
輸入
<label class="field" for="email">Email<input id="email"></label>
結果
<label className="field" htmlFor="email">Email<input id="email" /></label>

簡化的屬性轉換範例。完整輸出會格式化,並包含 Fragment 包裝。

結構與行為

HTML 片段會先解析再轉換,輸出在適當位置使用 Fragment 包裝和自閉合語法。

script 元素和行內事件屬性會被移除。這不會將其行為轉換為 React 回呼,也不保證剩餘所有 URL 和樣式都適用於你的應用。

整合結果

將 JSX 複製到元件的渲染或 return 表達式中。請手動恢復行為並檢查行內樣式,尤其是 style 物件無法完整表示的重複備援宣告或 !important 規則。

處理限制

文字輸入上限 1 MiB。CSS 與 HTML 轉換在工作執行緒中執行,限時 30 秒。顏色工具使用 sRGB;產生的樣式僅供預覽,需要在您的版面配置中測試。

?

常見問題

會產生完整 React 元件嗎?

不會。工具僅產生 JSX 標記,元件外層、匯入、資料和行為需要在專案中加入。

script 和 onclick 屬性會怎樣處理?

script 元素及行內事件屬性會被移除,不會執行其程式碼,也不會翻譯成 React 事件處理常式。

文字中的大括號為什麼仍然顯示為文字?

輸入按 HTML 解析,字面大括號會為 JSX 轉義,而非作為表達式求值。

行內樣式能完全還原嗎?

常見宣告會轉換為 React 樣式屬性。但 JavaScript style 物件不能始終忠實表示重複備援宣告與 !important。

可以轉換 SVG 標記嗎?

常見 SVG 屬性會映射為 React 名稱。請在元件中測試輸出,包括 ID、引用和應用特有屬性。

尋找下一個實用工具

語言

要切換語言嗎?目前頁面的內容將被清空。請先複製或下載需要保留的資料。