Anzeige
Anzeige
Ratgeber

Was ist eigentlich JSX und wofür braucht man das?

JSX ist eine Javascript-Erweiterung, die zum Arbeiten mit React empfohlen wird. Aber was unterscheidet JSX von Javascript und was kann es besser?

Von Janna Tillmann
2 Min.
Artikel merken
Anzeige
Anzeige
JSX verbindet HTML simpel mit Javascript.

JSX steht für Javascript XML oder Javascript Syntax Extension und ist eine Erweiterung der üblichen Javascript-Grammatik für React. XML wird dafür genutzt, Daten intern zu strukturieren und sinnvoll anzuordnen. Für deren Darstellung ist dann HTML zuständig. Javascript wird dann üblicherweise in Form von kleineren Scripten in HTML-Dateien eingesetzt. JSX dreht den Spieß hingegen um und setzt auf Javascript-Dateien, in die HTML eingebettet wird.

Anzeige
Anzeige

Das sieht in der jsx-Datei aus, wie man es sonst von HTML-Dateien kennt. Der Code kann beispielsweise eine Variable wie diese enthalten:


var nav = (
<ul id="nav">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Clients</a></li>
<li><a href="#">Contact Us</a></li>
</ul>
);

Damit diese allerdings dann auch in der Applikation auftaucht, ist ein Präprozessor notwendig. Dieser schaltet sich vor den Browser und wandelt den JSX-Code in simples Javascript um. Dabei wird aus jedem einzelnen Tag des HTML-Codes ein React.create-Element erzeugt, wodurch der Code problemlos lesbar wird. Das Beispiel dazu sei hier nur in einem Ausschnitt dargestellt, damit der Artikel nicht zu sehr in die Länge gezogen wird:

Anzeige
Anzeige

var nav = React.createElement(
"ul",
{ id: "nav" },
React.createElement(
"li",
null,
React.createElement(
"a",
{ href: "#" },
"Home"
)
),

(...)

JSX bringt Javascript und HTML zusammen

Es ist also zu sehen, dass es potenziell auch möglich wäre, den gleichen Code direkt als JS-Datei anzulegen, allerdings wäre die Schreibarbeit weitaus höher. Im Grunde ersetzt JSX die Notwendigkeit HTML über ein React.create-Element aufzubauen und bietet eine komfortablere Lösung dafür an. Dafür müsst ihr in den HTML-Anweisungen wiederum Javascript-Elemente mit geschweiften Klammern markieren. Die dynamischen Typen von Javascript fallen weg, ihr müsst also bei dieser statischen Typisierung darauf achten, dass zugewiesene Werte den richtigen Typ haben. Ansonsten bietet JSX natürlich die gleichen Möglichkeiten wie Javascript, da es das ja nur erweitert.

Anzeige
Anzeige

Falls euch JSX für die Kombination mit HTML gut gefällt, ihr aber mit React gar nicht arbeiten wollt, gibt es dafür inzwischen tatsächlich Lösungen. Bibliotheken wie nativejs oder jsrender wollen die Funktionalität von JSX von React lösen. Wie sinnvoll das ist, muss jeder für sich entscheiden, es werden aber in jedem Fall Anstrengungen in die Richtung unternommen.

Insgesamt kommt es einmal mehr darauf an, aus welchem Bereich ihr kommt, wenn ihr auf JSX schaut. Wer bisher nur mit HTML und CSS zu tun hatte, wird vielleicht eher mit der Syntax von JSX zurecht kommen, weil sie vieles beinhaltet, was euch schon bekannt ist und neues darin integriert. Wer andererseits bisher mit Javascript zu tun hatte, muss eine recht neue Syntax lernen, die nicht immer ganz simpel ist und ein Umdenken erfordert.

Anzeige
Anzeige

Wie gefällt euch JSX? Schreibt uns in den Kommentaren!

Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
Ein Kommentar
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

Hans-Christian Althauss

Simpel auf den Punkt gebracht. Scheint nun doch langsam mal interessant zu sein sich React anzuschauen. Vielen Dank dafür!

Antworten
Abbrechen

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige