Heim > Web-Frontend > js-Tutorial > JSX (JavaScript XML): Vereinfachung der UI-Entwicklung in React

JSX (JavaScript XML): Vereinfachung der UI-Entwicklung in React

Barbara Streisand
Freigeben: 2025-01-03 17:23:45
Original
718 Leute haben es durchsucht

JSX (JavaScript XML): Simplifying UI Development in React

JSX (JavaScript XML): Eine Schlüsselfunktion von React

JSX (JavaScript XML) ist eine Syntaxerweiterung für JavaScript, die es Entwicklern ermöglicht, HTML-ähnlichen Code direkt in JavaScript-Dateien zu schreiben. Es ist eine der Kernfunktionen von React und verbessert das Entwicklungserlebnis, indem es eine klare und präzise Beschreibung der Struktur von Benutzeroberflächen (UI) ermöglicht.

Hier finden Sie alles, was Sie über JSX wissen müssen:


1. Was ist JSX?

Mit JSX können Sie XML-ähnliche Tags schreiben, die HTML-Elemente oder React-Komponenten in JavaScript darstellen. Während JSX wie HTML aussieht, ist es das nicht – unter der Haube wird JSX mit Tools wie Babel in Standard-JavaScript kompiliert.

  • Beispiel für JSX:
  const Greeting = () => {
    return <h1>Hello, World!</h1>;
  };
Nach dem Login kopieren
Nach dem Login kopieren
  • Kompiliertes JavaScript:
  const Greeting = () => {
    return React.createElement('h1', null, 'Hello, World!');
  };
Nach dem Login kopieren
Nach dem Login kopieren

2. Hauptmerkmale von JSX

a. Ausdrücke einbetten

Sie können JavaScript-Ausdrücke in JSX einbetten, indem Sie sie in geschweifte Klammern {} einschließen.

  • Beispiel:
  const name = "Alice";
  const Greeting = () => <h1>Hello, {name}!</h1>;
Nach dem Login kopieren
Nach dem Login kopieren

b. Attribute

JSX unterstützt Attribute ähnlich wie HTML, jedoch mit CamelCase-Benennung für Eigenschaften.

  • Beispiel:
  const Button = () => <button className="btn" onClick={() => alert('Clicked!')}>Click Me</button>;
Nach dem Login kopieren
Nach dem Login kopieren

c. Verschachtelte Elemente

Sie können Elemente ineinander verschachteln, um eine vollständige UI-Struktur zu erstellen.

  • Beispiel:
  const App = () => (
    <div>
      <h1>Welcome</h1>
      <p>This is a nested JSX structure.</p>
    </div>
  );
Nach dem Login kopieren

d. Bedingtes Rendern

Verwenden Sie JavaScript-Logik, um Elemente bedingt darzustellen.

  • Beispiel:
  const isLoggedIn = true;
  const App = () => (
    <div>
      {isLoggedIn ? <h1>Welcome Back!</h1> : <h1>Please Log In</h1>}
    </div>
  );
Nach dem Login kopieren

3. Warum JSX verwenden?

a. Deklarative Syntax

JSX bietet eine deklarative Möglichkeit, die Benutzeroberfläche zu definieren, wodurch der Code lesbarer wird und dem tatsächlichen UI-Design näher kommt.

b. Integration mit JavaScript

Da JSX nur syntaktischer Zucker für JavaScript-Funktionen ist, ermöglicht es die nahtlose Integration von Logik, Status und Requisiten in Ihre UI-Definitionen.

c. Verbesserte Entwicklererfahrung

JSX erleichtert das Schreiben, Verstehen und Debuggen des UI-Codes im Vergleich zu herkömmlichen React.createElement()-Aufrufen.


4. JSX-Regeln und Best Practices

a. Muss ein einzelnes übergeordnetes Element zurückgeben

JSX muss ein einzelnes Root-Element zurückgeben. Verwenden Sie ein

oder ein React-Fragment (<>...), um mehrere Elemente zu gruppieren.

  • Beispiel:
  const Greeting = () => {
    return <h1>Hello, World!</h1>;
  };
Nach dem Login kopieren
Nach dem Login kopieren

b. Selbstschließende Tags

Für Elemente ohne untergeordnete Elemente verwenden Sie selbstschließende Tags.

  • Beispiel:
  const Greeting = () => {
    return React.createElement('h1', null, 'Hello, World!');
  };
Nach dem Login kopieren
Nach dem Login kopieren

c. Vermeiden Sie Inline-Styling (wenn möglich)

Obwohl JSX Inline-Styling über das Style-Attribut unterstützt, verwenden Sie für eine bessere Wartbarkeit CSS-in-JS-Bibliotheken oder externe Stylesheets.

  • Inline-Styling-Beispiel:
  const name = "Alice";
  const Greeting = () => <h1>Hello, {name}!</h1>;
Nach dem Login kopieren
Nach dem Login kopieren

b. Werte richtig entkommen

JSX entgeht automatisch gefährlichen Eingaben, um XSS-Angriffe zu verhindern. Zum Beispiel:

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage