Components

<Branch>

API-Referenz für die <Branch>-Komponente

Überblick

Die <Branch>-Komponente ermöglicht es Ihnen, bedingte Logik zu einer Übersetzung hinzuzufügen.

const status = 'active';
<Branch branch={status}
    active={<p>The user is active.</p>}
    inactive={<p>The user is inactive.</p>}
/>

Sie übergeben einen Wert an den branch-Parameter, und dieser wird mit einem Ausgabewert basierend auf den von Ihnen bereitgestellten Schlüsseln abgeglichen.

Referenz

Props

PropTypeDefault
[key]: string?
string | JSX.Element
-
name??
string
undefined
children??
any
undefined
branch?
string
-

Die [key]: string Syntax zeigt beliebige Schlüssel an, die potenzielle Zweige repräsentieren. Zum Beispiel können Zweige wie active und inactive als Parameter hinzugefügt werden.

PropBeschreibung
branchDer Name des zu rendernden Zweigs.
childrenFallback-Inhalt, der gerendert wird, wenn kein passender Zweig gefunden wird.
[key]: stringZweige, die mögliche Inhalte für den gegebenen Zweigwert repräsentieren. Jeder Schlüssel entspricht einem Zweig, und sein Wert ist der zu rendernde Inhalt.

Rückgabe

JSX.Element mit dem Inhalt, der dem angegebenen Zweig entspricht, oder dem Fallback-Inhalt.

Wirft

Error wenn die branch Prop nicht bereitgestellt oder ungültig ist.

Beispiele

Grundlegende Verwendung

<Branch> muss für jeden möglichen Wert der branch-Eigenschaft eine unterschiedliche Ausgabe haben.

In diesem Beispiel wird der Wert user.hairColor verwendet, um die Ausgabe zu bestimmen. Wir haben die Eigenschaften black, brown und blonde definiert, um den möglichen Werten von user.hairColor zu entsprechen.

BranchExample.jsx
import { Branch } from 'gt-next';

export default function HairColor({ user }) {
  return (
    <Branch branch={user.hairColor}
      black={<p>Their hair is dark.</p>}
      brown="Their hair is in the middle." // (you can pass a string if you prefer)
      blonde={<p>Their hair is light.</p>}
    />
  );
}

Fallback-Inhalt

Die children werden immer als Fallback verwendet, wenn keine Eigenschaft mit dem an branch übergebenen Wert übereinstimmt.

BranchExample.jsx
import { Branch } from 'gt-next';

export default function HairColor({ user }) {
  return (
    <Branch branch={user.hairColor}
      black={<p>Their hair is dark.</p>}
      brown={<p>Their hair is in the middle.</p>}
      blonde={<p>Their hair is light.</p>}
    >
      <p>Their hair is unknown.</p> // [!code highlight]
    </Branch>
  );
}

Übersetzen von <Branch>

Wenn Sie den Inhalt übersetzen möchten, umhüllen Sie ihn einfach mit einer <T>-Komponente.

BranchExample.jsx
import { T, Branch } from 'gt-next';

export default function HairColor({ user }) {
  return (
    <T id="example">
      <Branch branch={user.hairColor}
        black={<p>Their hair is dark.</p>}
        brown={<p>Their hair is in the middle.</p>}
        blonde={<p>Their hair is light.</p>}
      >
        <p>Their hair is unknown.</p> 
      </Branch>
    </T> 
  );
}

Hinzufügen von Variablen

Wenn Sie dynamische Werte im Branch rendern möchten, stellen Sie sicher, dass Sie sie in <Currency>, <DateTime>, <Num> oder <Var>-Komponenten umhüllen.

BranchExample.jsx
import { Branch, T, Var } from 'gt-next';

export default function HairColor({ user }) {
  return (
    <T id="example">
      <Branch branch={user.hairColor}
        black={<p>Their hair is dark.</p>}
        brown={<p>Their hair is in the middle.</p>}
        blonde={<p>Their hair is light.</p>}
      >
        <p>Unhandled hair color: <Var>{user.hairColor}</Var></p>
      </Branch>
    </T>
  );
}

Hinweise

  • Die Schlüssel für Branches können beliebige String-Werte sein, die mit der branch-Eigenschaft übereinstimmen. Diese Flexibilität macht es einfach, <Branch> an eine Vielzahl von Anwendungsfällen anzupassen.
  • Kombinieren Sie <Branch> mit anderen Komponenten, wie <T> für Übersetzungen und Variablen-Komponenten für dynamische Inhalte, um reichhaltige und lokalisierte Benutzeroberflächen zu erstellen.

Nächste Schritte

Wie ist dieser Leitfaden?