İçeriğe geç
Toova
Tüm Araçlar

HTML → JSX Dönüştürücü

Tasarımdan gizli — tamamen tarayıcınızda çalışır

Sol tarafa HTML yapıştırın, sağ tarafta React’a hazır JSX kopyalayın. Dönüştürücü class’ı className’e, for’u htmlFor’a çevirir; inline style dizelerini camelCase nesneye dönüştürür ve img, input gibi void element’leri kendiliğinden kapatır.

Nitelik ve olay yeniden adlandırması

React, HTML niteliği yerine DOM property adını kullanır: tabindex tabIndex’e, readonly readOnly’ye, colspan colSpan’a dönüşür. Inline handler’lar onclick’ten onClick’e, onmouseover’dan onMouseOver’a ve tüm standart handler’larda aynı şekilde camelCase olur. HTML’e özgü iki yeniden adlandırma class → className ve for → htmlFor’dur çünkü ikisi de JavaScript anahtar kelimesidir.

style dizelerini camelCase nesneye

JSX, inline style’ı obje literal olarak ister ve her CSS özelliği camelCase olmalıdır. padding: 1rem; background-color: #fff dizesi style={{ padding: '1rem', backgroundColor: '#fff' }} olur. Dönüştürücü kebab-case → camelCase, vendor prefix (-webkit-, -moz-, -ms-) ve CSS özel özelliklerini (--brand-color, gerektiğinde dize anahtarıyla) işler.

Gizlilik ve uç durumlar

Dönüşüm bu sekmedeki tek bir JavaScript fonksiyonunda çalışır. HTML’iniz tarayıcıyı terk etmez — müşteri verisi içeren markup’ı taşıdığınızda önemlidir. 14 void element (img, input, br, hr, meta, link, area, base, col, embed, source, track, wbr, param) çıktıda kendiliğinden kapanır. data- ve aria- nitelikleri JSX’te zaten geçerli olduğu için olduğu gibi kalır.

Sıkça Sorulan Sorular

Hangi nitelikler yeniden adlandırılır?
class → className, for → htmlFor, tabindex → tabIndex, readonly → readOnly, colspan → colSpan ve tüm standart DOM property ile on* handler’ı için camelCase.
style dizesi nasıl dönüştürülür?
Noktalı virgüllerden parçalanır, her CSS özelliği camelCase yapılır ve sonuç çift süslü ayraçlı JSX nesnesi olarak yazılır. Vendor prefix ve özel özellikler korunur.
data-* ve aria-* değişir mi?
Hayır. JSX ikisini de kebab biçiminde kabul ettiği için dönüştürücü dokunmaz. Yalnızca standart DOM nitelikleri yeniden adlandırılır.
HTML yorumları dönüştürülür mü?
Evet. <!-- yorum --> ifadesi {/* yorum */} olur; böylece niyet korunur ve JSX parser bozulmaz.
Peki script ve inline handler’lar?
Dönüştürücü onclick’i onClick olarak yeniden adlandırır, ancak fonksiyon gövdesi dize olarak kalır. Genelde yayından önce gerçek bir React callback’ine yazılır.
HTML’im bir yere yükleniyor mu?
Hayır. Dönüşüm tamamen bu tarayıcı sekmesinde olur. Toova yapıştırdığınızı görmez — analitik yok, log yok, hiçbir şey yok.