Tidak suka iklan? Pergi Bebas Iklan Hari ini

Konverter SVG ke Komponen React JSX

PengembangTeks
IKLAN · HAPUS?
MEMASUKKAN
Harus dimulai dengan huruf kapital. Digunakan sebagai nama komponen React.
IKLAN · HAPUS?

Memandu

Pengubah Komponen React JSX dari SVG

Konverter SVG ke Komponen React JSX

Tempel markup SVG mentah dan dapatkan kembali komponen fungsi React yang bersih. Alat ini menerapkan konversi camelCase yang deterministik untuk setiap atribut, menghilangkan sintaks non-JSX, dan mengelompokkan hasilnya dalam komponen siap diimpor — opsional terjenis, opsional forwardRef-dilindungi, dan opsional diubah ukuran melalui properti. Semua hal berjalan secara lokal di browser Anda, sehingga ikon dan logo Anda tidak pernah meninggalkan mesin Anda.

Cara Penggunaan

  1. Tempel <svg>…</svg> markup ke kotak masukan.
  2. Tetapkan nama komponen (PascalCase, seperti ArrowRightIcon).
  3. Toggle TypeScript, forwardRef, properti ukuran skala, dan penyebaran properti untuk sesuai dengan proyek Anda.
  4. Salin JSX yang dihasilkan atau unduh sebagai .tsx / .jsx file.

Fitur

  • atribut camelCasestroke-width menjadi strokeWidth, fill-rule menjadi fillRule, dan seterusnya di seluruh spesifikasi SVG.
  • Pengelolaan kata kunci yang disimpanclass diterjemahkan menjadi className, for ke htmlFordan xlink:href ke xlinkHref.
  • Parsa gaya inlinestyle="color: red; font-size: 12px" dikonversi menjadi objek gaya JSX dengan kunci camelCase.
  • Output TypeScript – menghasilkan React.SVGProps<SVGSVGElement> tipe saat diaktifkan.
  • Mode ikon skala – ganti dimensi hard-coded width/height dengan width dan height properti dengan nilai default yang masuk akal.
  • Wrapper React.forwardRef – menghasilkan sebuah React.forwardRef komponen dengan sebuah displayName untuk DevTools.
  • Penyebaran properti – menyalurkan properti sembarang ke akar <svg> sehingga konsumen dapat menetapkan className, ARIA, atau penanggulang peristiwa.
  • Offline secara dirancang – SVG tidak pernah meninggalkan browser; tidak ada pengunggahan, tidak ada perjalanan ke server.

Tanya Jawab Umum

  1. Mengapa React dan JSX mengubah nama atribut SVG?

    JSX dikompilasi langsung ke akses properti objek JavaScript, dan identifikasi JavaScript tidak dapat mengandung garis bawah. Oleh karena itu, React menggunakan nama properti camelCase yang standar yang mencerminkan DOM IDL — misalnya, stroke-width menjadi strokeWidth karena DOM mengungkapkannya sebagai element.strokeWidth. Sejumlah kecil atribut (class, for) bertabrakan dengan kata kunci JavaScript dan diubah (className, htmlFor) untuk menghindari konflik parser.

  2. Apa yang dilakukan oleh React.forwardRef terhadap komponen SVG?

    Secara default, komponen fungsional tidak dapat menerima sebuah ref dari orang tua — React mengabaikannya secara diam-diam. React.forwardRef mengungkapkan node DOM bawah ke orang tua, yang penting ketika Anda membutuhkan akses langsung ke elemen yang dihasilkan <svg> untuk manajemen fokus, pengukuran, atau integrasi dengan library animasi seperti Framer Motion atau GSAP.

  3. Mengapa SVG harus dimasukkan sebagai komponen React daripada gambar inline?

    Memasukkan SVG sebagai JSX memberi Anda kendali penuh atas pohon DOM: Anda dapat mengatur stroke dan fill melalui variabel CSS, menganimasikan jalur secara individual, mengganti warna secara dinamis, dan menghapus ikon yang tidak digunakan saat build. Sebuah <img src="icon.svg"> berperilaku sebagai elemen raster yang tidak transparan — Anda tidak dapat mengatur bagian dalamnya dari halaman host.

  4. Mengapa tetapkan width dan height sebagai properti daripada atribut yang diatur secara keras?

    Dimensi piksel yang diatur secara keras membatasi ukuran ikon pada satu ukuran dan membuatnya tidak nyaman untuk digunakan dalam komposisi layout. Menyediakan width dan height sebagai properti (sering kali dikombinasikan dengan nilai asli viewBox) memungkinkan pengguna merender komponen yang sama pada 16px di toolbar dan 48px di banner utama, dengan skala vektor SVG yang mempertahankan kejernihan pada setiap ukuran.

Ingin bebas iklan? Bebas Iklan Hari Ini

Instal Ekstensi Kami

Tambahkan alat IO ke browser favorit Anda untuk akses instan dan pencarian lebih cepat

Ke Ekstensi Chrome Ke Ekstensi Tepi Ke Ekstensi Firefox Ke Ekstensi Opera

Papan Skor Telah Tiba!

Papan Skor adalah cara yang menyenangkan untuk melacak permainan Anda, semua data disimpan di browser Anda. Lebih banyak fitur akan segera hadir!

IKLAN · HAPUS?
IKLAN · HAPUS?
IKLAN · HAPUS?

Pojok Berita dengan Sorotan Teknologi

Terlibat

Bantu kami untuk terus menyediakan alat gratis yang berharga

Belikan aku kopi
IKLAN · HAPUS?