Konverter HTML ke JSX
HTML → JSX// JSX output appears here
Mengapa mengkonversi HTML ke JSX?
Saat melakukan migrasi template HTML yang ada ke React, Anda harus secara manual mengkonversi class menjadi className, for menjadi htmlFor, dan style inline dari string ke objek JavaScript. Alat ini mengotomatiskan konversi ini secara instan dan memungkinkan Anda fokus pada logika komponen.
Konversi Atribut
class→className, for→htmlFor, tabindex→tabIndex, maxlength→maxLength, dan banyak lagi
Objek Style Inline
Mengkonversi style="color:red;" menjadi style={{color:'red'}} — notasi objek JS React
Tag Self-closing
Menambahkan garis miring penutup ke elemen void: <br> → <br />, <input> → <input />
Konversi HTML ke JSX dalam 3 langkah
Tempel HTML
Tempel template HTML, ekspor Figma, atau cuplikan kode HTML ke panel kiri
Konversi Otomatis
Konverter secara instan mengubah semua atribut, style, dan elemen void ke sintaks JSX
Salin JSX
Salin JSX yang dikonversi dan tempel ke blok render/return komponen React
Kasus Penggunaan Konverter HTML ke JSX
Migrasi ke React
Migrasikan halaman HTML atau template yang ada ke komponen React tanpa konversi atribut manual
Bootstrap di React
Konversi komponen Bootstrap HTML ke JSX untuk digunakan dengan react-bootstrap
Template Email
Konversi template email HTML ke JSX untuk rendering dengan React Email
Dari CMS ke React
Konversi template HTML WordPress atau CMS tradisional ke struktur komponen React
Tips Konversi HTML ke JSX
✓ class → className itu penting
class adalah kata kunci JavaScript yang dicadangkan. Di React, className harus digunakan untuk kelas CSS.
✓ for di label → htmlFor
Atribut for pada <label> menjadi htmlFor di JSX. Melupakannya akan merusak aksesibilitas.
✓ Perbarui event handler setelah konversi
Atribut HTML onclick='...' tidak dikonversi secara otomatis di JSX. Ganti handler inline secara manual dengan pola onClick={handler} React.
✓ Komentar HTML menjadi komentar JSX
<!-- komentar --> dikonversi menjadi {/* komentar */} di JSX.
❓ Pertanyaan yang Sering Diajukan
Mengapa React menggunakan className alih-alih class?
class adalah kata kunci JavaScript yang dicadangkan (digunakan untuk kelas ES6). Karena JSX adalah JavaScript, class menciptakan konflik sintaks. React memilih className untuk menghindari ambiguitas.
Apakah alat ini menangani event handler React?
Tidak — handler HTML onclick, onsubmit, dll. tidak dikonversi secara otomatis ke onClick, onSubmit React. Diperlukan pembaruan manual.
Apa perbedaan antara HTML dan JSX?
JSX adalah ekstensi sintaks JavaScript yang mirip HTML yang dikompilasi menjadi panggilan React.createElement(). Perbedaan utama: semua atribut dalam camelCase, class→className, for→htmlFor, elemen void memerlukan self-closing, ekspresi menggunakan {} bukan string.
Mengapa elemen void memerlukan self-closing di JSX?
JSX di-parsing oleh Babel sebagai sintaks mirip XML dan mengharuskan semua elemen ditutup dengan benar. Elemen void seperti <br>, <img>, <input> tidak memiliki anak dan memerlukan /> self-closing.