Zum Inhalt springen

„JSX (JavaScript)“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
[ungesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
K Sky-Dean Dawid verschob die Seite Benutzer:Sky-Dean Dawid/JSX (JavaScript) nach JSX (JavaScript): Artikel vollständig
Zeile 48: Zeile 48:
== Einzelnachweise ==
== Einzelnachweise ==
<references />
<references />

[[Kategorie:Javascript]]

Version vom 10. Juni 2022, 09:46 Uhr

JSX steht für Javascript Syntax Extension oder Javascript XML und ist eine Erweiterung der gängigen Javascript-Syntax von React.[1]

Syntax

In JSX ist jedes Tag ein „Funktionsaufruf“, der ein Element erzeugt. Wenn JSX in React "übersetzt" wird, sieht das Ergebnis so aus:

function createElement(elementType, props, ...children) {}

Dies liegt daran, dass jedes Tag mit der Funktion createElement() ein Element erstellt. Der folgende Beispielcode zeigt, wie man JSX in React einbetten kann:

const name = 'Max Mustermann';
const element = <h1>Hallo, {name}</h1>;

ReactDOM.render(
  element,
  document.getElementById('root')
);

In diesem Code werden 2 Konstanten erstellt und den Zeichenfolgenwert an den HTML-Code übergeben.

Danach wird ReactDOM.render() aufgerufen und den HTML-Code zusammen mit dem „root“-Element übergeben.[2][3][4]

Attribute

Man benutzt meistens Anführungszeichen um string-Literale als Attribute zu verwenden:

const element = <a href="https://www.wikipedia.org"> link </a>;

Ebenfalls kann man geschweifte Klammern verwenden, um JavaScript-Ausdrücke in ein Attribut einzubinden:

const element = <img src={user.avatarUrl}></img>;

Sicherheit (XSS)

JSX verhindert Injection-Attacken wie XSS. Es ist sicher, Benutzereingaben wie diese einzubetten:

const title = response.potentiallyMaliciousInput;

// Dies ist sicher:

const element = <h1>{title}</h1>;

Standardmäßig entschlüsselt React DOM alle in JSX eingebetteten Werte, bevor sie gerendert werden. Alles wird in einen String konvertiert, bevor es gerendert wird. Dies hilft, XSS-Angriffe (Cross-Site-Scripting) zu verhindern.[5]

Props in JSX

Man kann einen beliebigen JavaScript-Ausdruck als Prop übergeben, indem man ihn mit {} umgibt. Zum Beispiel in diesem Code:

<MyComponent foo={1 + 2 + 3 + 4} />

Für MyComponent wird der Wert von props.foo 10 sein, weil der Ausdruck 1 + 2 + 3 + 4 ausgewertet wird.

if-Anweisungen und for-Schleifen sind in JavaScript keine Ausdrücke, daher können sie in JSX nicht direkt verwendet werden.[6][7]

Siehe auch

Einzelnachweise

  1. Einführung in JSX – React. Abgerufen am 10. Juni 2022 (englisch).
  2. t3n – digital pioneers | Was ist JSX und wofür braucht man das? Abgerufen am 10. Juni 2022.
  3. What is JSX? How to use JavaScript with React? – Let's React. Abgerufen am 10. Juni 2022 (amerikanisches Englisch).
  4. Einführung in JSX – React. Abgerufen am 10. Juni 2022 (englisch).
  5. What is JSX and why to use it? Abgerufen am 10. Juni 2022 (englisch).
  6. Components and Props – React. Abgerufen am 10. Juni 2022 (englisch).
  7. JSX In Depth – React. Abgerufen am 10. Juni 2022 (englisch).