Ich hätte das wahrscheinlich schon vor langer Zeit lernen sollen, aber leider sind wir hier. Es stellt sich heraus, dass Sie festlegen können, welche Funktion JSX verwenden soll. Ja, JSX hat wirklich nur eine primäre Transformation, die es macht. Es verwandelt spitze Klammern in JavaScript in einen Funktionsaufruf. Wenn Sie also eine Zeile wie diese in JavaScript schreiben:
Hello
Nach der Verarbeitung (wahrscheinlich mit Babel und dem JSX-Plugin) erhalten Sie standardmäßig:
React.createElement("div", ( class: "big" ), "Hello");
Wenn Sie jedoch einen Direktivenkommentar einfügen, der JSX mitteilt, dass Sie Ihre eigene Funktion verwenden möchten, können Sie diese Ausgabe ändern:
/* @jsx myFunction */ Hello
Verwandelt sich in:
/* @jsx myFunction */ myFunction("div", ( class: "big" ), "Hello");
Das heißt, wir können unsere eigene Funktion schreiben. Ein bisschen komisch, aber OK.
Der eigentliche Anwendungsfall gilt für Nicht-React-Bibliotheken wie Preact. Das habe ich aus Jason Millers Beispielen gelernt:
Vue kann auch so gemacht werden. Beachten Sie, dass sowohl Vue als auch Preact diese spezielle h
Funktion liefern , die dafür entwickelt wurde:
Valeri Karpov hat einige interessante Anwendungsfälle in seinem Blog-Beitrag „Ein Überblick über JSX mit 3 nicht reagierenden Beispielen“.