Sări la conținut

Convertor HTML în JSX

Transformați marcajul HTML în JSX pe care îl puteți lipi direct într-o componentă React.

Intrare
Ieșire

Convertor HTML în JSX

Lipiți marcajul HTML și obțineți JSX pe care îl puteți plasa direct într-o componentă React. Convertorul redenumește fiecare atribut React se așteaptă la un alt nume pentru — class devine className, for devine htmlFor, tabindex devine tabIndex, colspan devine colSpan și alte zeci — astfel încât consola încetează să avertizeze despre proprietăți DOM necunoscute în momentul în care lipiți un fragment copiat dintr-un instrument de proiectare, un export CMS, un șablon de pagină static vechi sau un șablon de e-mail vechi.

Stilurile inline sunt următorul lucru pe care React îl refuză ca șir simplu. Activați „Convertiți stilul în obiect” și style="color:red;font-size:16px" devine style={{ color: 'red', fontSize: '16px' }}, cu fiecare proprietate camelCased și fiecare valoare citată, gata pentru prop de stil. Elementele goale sunt a treia captură: HTML vă permite să lăsați <br>, <img>, <input>, <hr> și <meta> neînchise, dar JSX nu le va analiza, așa că „Self-close void elements” le rescrie ca <br />, <img /> și așa mai departe pentru dvs.

Comentariile HTML se transformă în singura formă de comentariu pe care JSX acceptă în interiorul markupului, așa că <!-- like this --> devine {/* like this */}. Conținutul textului, spațiile albe și rupturile de rând rămân exact așa cum le-ați scris, astfel încât indentarea și copierea dvs. supraviețuiesc conversiei neatinse, iar atributele data-* și aria-* sunt lăsate în mod deliberat cu cratime, deoarece JSX le păstrează așa cum sunt. Ambele opțiuni sunt activate în mod implicit și pot fi dezactivate atunci când doriți doar redenumirea atributului.

Întreaga conversie are loc în browserul dvs. ca procesare simplă de șiruri - fără DOM, fără server, fără încărcare. Lipiți marcajul proprietar dintr-un panou de administrare intern sau dintr-un site client și nimic nu va părăsi dispozitivul. Copiați JSX-ul, descărcați-l ca fișier sau trimiteți-l la un alt instrument TextArray pentru următorul pas.

FAQ

Ce atribute redenumește?
class → className, pentru → htmlFor și formele camelCase pe care React le așteaptă: tabIndex, readOnly, maxLength, colSpan, rowSpan, cellPadding, crossOrigin, autoFocus, contentEditable, srcSet și multe altele. Atributele data-* și aria-* sunt lăsate exact așa cum sunt, deoarece JSX le păstrează cu cratime.
Convertește stilurile inline?
Da, când „Conversia stilului în obiect” este activată. Fiecare declarație devine o cheie camelCased cu o valoare de șir citată în interiorul unui obiect de stil cu acolade duble. Dezactivați opțiunea pentru a lăsa șirurile stilului dvs. neatinse.
Este acesta un parser HTML complet?
Nu - este o transformare rapidă a șirului, nu un DOM de browser. Acesta acoperă conversiile de care React are de fapt nevoie: redenumiri de atribute, stiluri inline, elemente void și comentarii. Nu redendează și nu validează codul HTML, așa că etichetele malformate apar așa cum sunt scrise.
HTML-ul meu este încărcat de undeva?
Nu. Conversia rulează în întregime în browser-ul dvs. cu procesare locală de șiruri. Markupul dvs. nu ajunge niciodată la un server, așa că lipirea codului intern sau client este sigură.