Ik had dit waarschijnlijk al lang geleden moeten leren, maar helaas, hier zijn we dan. Blijkt dat u kunt zien welke functie u JSX wilt laten gebruiken. Ja, JSX heeft eigenlijk maar één primaire transformatie die het doet. Het verandert punthaken in JavaScript in een functieaanroep. Dus als u een regel als deze in JavaScript schrijft:
Hello
Na verwerking (waarschijnlijk met Babel en de JSX-plug-in), krijg je standaard:
React.createElement("div", ( class: "big" ), "Hello");
Maar als u een instructiecommentaar opneemt dat JSX vertelt dat u uw eigen functie wilt gebruiken, kunt u die uitvoer wijzigen:
/* @jsx myFunction */ Hello
Verandert in:
/* @jsx myFunction */ myFunction("div", ( class: "big" ), "Hello");
Dat betekent dat we onze eigen functie kunnen schrijven. Nogal raar, maar oké.
Het daadwerkelijke gebruik is voor niet-React-bibliotheken, zoals Preact. Ik heb dit geleerd door naar de voorbeelden van Jason Miller te kijken:
Vue kan ook op deze manier worden gedaan. Merk op dat zowel Vue als Preact deze speciale h
functie verzenden die hiervoor is ontworpen:
Valeri Karpov heeft ook een aantal interessante use-cases op hun blogpost, "Een overzicht van JSX met 3 niet-reagerende voorbeelden".