Konwerter SVG na JSX
Konwertuj SVG na React JSX: atrybuty stają się camelCase, wbudowany style zmienia się w obiekt, a wynik to JSX inline, memo lub forwardRef.
Konwerter SVG na JSX — Wklej znacznik SVG lub upuść plik .svg i natychmiast uzyskaj JSX gotowy dla Reacta: atrybuty takie jak stroke-width stają się camelCase, class staje się className, wbudowany łańcuch style jest przepisywany na obiekt style JSX, a puste elementy są samozamykane. Opcjonalnie możesz najpierw uruchomić czyszczenie w stylu SVGO, a następnie wygenerować wbudowany JSX albo komponent funkcyjny, memo lub forwardRef, który rozkłada SVGProps. Wszystko to czysta transformacja łańcucha znaków działająca w całości w Twojej przeglądarce; Twój znacznik nigdy nie opuszcza strony ani nie trafia na serwer.
Czym jest Konwerter SVG na JSX?
Konwerter SVG na JSX to darmowe narzędzie w przeglądarce, które zamienia zwykły znacznik SVG na prawidłowy React JSX, który możesz wkleić bezpośrednio do komponentu. React oczekuje atrybutów DOM w camelCase (strokeWidth, clipPath, fillRule), używa className zamiast class i wymaga atrybutu style jako obiektu właściwości w camelCase, a nie łańcucha — to narzędzie poprawia to wszystko automatycznie. Programiści front-end i projektanci używają go przy eksportowaniu ikon z Figmy, Illustratora lub zestawu ikon. Włącz opcjonalne czyszczenie, aby usunąć komentarze, metadane edytora i deklaracje XML, i wybierz, czy wyjściem jest wbudowany JSX, czy komponent funkcyjny, memo() lub forwardRef otypowany za pomocą React.SVGProps.
Jak używać Konwerter SVG na JSX
- Wklej swój znacznik SVG do pola wejściowego lub upuść plik .svg na strefę upuszczania.
- Odczytaj przekonwertowany JSX w polu wyjściowym — atrybuty są w camelCase, class staje się className, wbudowany style staje się obiektem style, a puste tagi samozamykają się.
- Otwórz Ustawienia i wybierz Wyjście komponentu: wbudowany JSX, komponent funkcyjny, komponent memo() lub komponent forwardRef.
- Ustaw pole Nazwa komponentu, aby określić nazwę używaną w opakowaniu (na przykład MyIcon).
- Włącz Propsy TypeScript, aby otypować komponent za pomocą React.SVGProps, lub włącz Wyczyść SVG, aby najpierw usunąć komentarze i metadane edytora.
- Kliknij Kopiuj, aby skopiować JSX, a następnie wklej go do swojego projektu React lub Next.js.
Przykłady
Style wbudowane i atrybuty przekonwertowane
Wejście
<svg viewBox="0 0 24 24"><path stroke-width="2" style="fill:none;stroke-linecap:round" d="M4 12h16"/></svg>
Wyjście
<svg viewBox="0 0 24 24"><path strokeWidth="2" style={{ fill: "none", strokeLinecap: "round" }} d="M4 12h16" /></svg>Komponent forwardRef z otypowanymi propsami
Wejście
<svg viewBox="0 0 24 24"><circle cx="12" cy="12" r="10"/></svg>
Wyjście
export const MyIcon = React.forwardRef<SVGSVGElement, React.SVGProps<SVGSVGElement>>(function MyIcon(props, ref) {
return (
<svg viewBox="0 0 24 24" ref={ref} {...props}><circle cx="12" cy="12" r="10" /></svg>
);
});Najczęściej zadawane pytania
- Co konwerter zmienia w moim SVG?
- Zmienia nazwy atrybutów z myślnikiem i z przestrzenią nazw na formę camelCase Reacta (stroke-width na strokeWidth, xlink:href na xlinkHref), przekształca class w className, przepisuje wbudowany łańcuch style na obiekt style JSX z kluczami w camelCase i samozamyka puste elementy, takie jak path i rect, aby były prawidłowym JSX.
- Jak działają opcje wyjścia komponentu?
- Wybierz wbudowany JSX, aby umieścić znacznik w dowolnym miejscu, lub opakuj go jako komponent funkcyjny, memo() lub forwardRef z podaną Nazwą komponentu. Komponent forwardRef otrzymuje ref dołączony do głównego svg. Włącz Propsy TypeScript, aby otypować dowolne opakowanie za pomocą React.SVGProps i rozłożyć {...props}.
- Czy konwertuje style wbudowane?
- Tak. Atrybut style="fill:red;stroke-width:2" jest przepisywany na obiekt style JSX, taki jak style={{ fill: "red", strokeWidth: "2" }}, z nazwami właściwości w camelCase i wartościami jako łańcuchy. Niestandardowe właściwości CSS (--var) są zachowywane jako klucze łańcuchowe.
- Co robi czyszczenie w stylu SVGO?
- Gdy Wyczyść SVG jest włączone, narzędzie usuwa deklaracje XML, DOCTYPE, komentarze, <metadata>, przestrzenie nazw edytora, takie jak inkscape: i sodipodi:, oraz atrybut version svg, a następnie zwija białe znaki — wszystko przed uruchomieniem konwersji na JSX.
- Czy mój SVG jest gdzieś przesyłany?
- Nie. Upuszczenie pliku lub wklejenie znacznika uruchamia czystą transformację łańcucha znaków w całości w Twojej przeglądarce, więc Twój SVG nigdy nie jest wysyłany na serwer, a narzędzie działa offline.
Powiązane narzędzia
Kod na obraz
Zamień fragment kodu na obraz z podświetlaniem składni w przeglądarce — z ponad 20 językami, własnymi motywami i tłami, numerami wierszy oraz eksportem PNG lub SVG.
Sprawdzanie kontrastu kolorów
Sprawdź kontrast WCAG 2.1 i wynik APCA Lc między kolorem tekstu a tłem, zobacz plakietki AA, AAA i 3:1 oraz zastosuj najbliższy zaliczony kolor.
Mikser kolorów
Zmieszaj dwa kolory HEX w wybranej proporcji w przestrzeni RGB lub Lab i odczytaj powstały kolor pośredni jako próbkę oraz kopiowalną wartość HEX.
Generator odcieni koloru
Zamień jeden bazowy kolor HEX w skalę OKLCH, HSL lub RGB z regulowaną liczbą stopni, wskazówkami kontrastu WCAG na stopień oraz eksportem do CSS, Tailwind i JSON.