# 199: Messing su JSX - CSS-gudrybės

Anonim

Tikriausiai turėjau tai išmokti jau seniai, bet, deja, čia mes. Pasirodo, galite pasakyti, kokią funkciją norite naudoti JSX. Taip, JSX iš tikrųjų turi tik vieną pirminę transformaciją. „JavaScript“ kampinius skliaustus paverčia funkcijų iškvietimu. Taigi, jei parašysite tokią eilutę „JavaScript“:

 Hello 

Apdoroję (tikriausiai naudodami „Babel“ ir „JSX“ papildinį), pagal numatytuosius nustatymus gausite:

React.createElement("div", ( class: "big" ), "Hello");

Bet jei įtraukiate direktyvos komentarą, nurodantį JSX, kad norite naudoti savo funkciją, galite pakeisti tą išvestį:

/* @jsx myFunction */ Hello 

Pasiverčia į:

/* @jsx myFunction */ myFunction("div", ( class: "big" ), "Hello");

Tai reiškia, kad mes galime parašyti savo funkciją. Kažkaip keista, bet gerai.

Faktinis naudojimo atvejis yra nereaguojančioms bibliotekoms, pvz., „Preact“. Tai sužinojau pažvelgęs į Jasono Millerio pavyzdžius:

„Vue“ galima padaryti ir tokiu būdu. Atkreipkite dėmesį, kad tiek „Vue“, tiek „Preact“ pateikia šią specialią tam skirtą hfunkciją:

Valeri Karpov taip pat pateikia keletą įdomių naudojimo atvejų savo tinklaraščio įraše „JSX apžvalga su 3 nereaguojančiais pavyzdžiais“.