Branch
<Branch> コンポーネントのAPIリファレンス
概要
<Branch> コンポーネントを使用すると、翻訳に条件分岐ロジックを追加できます。
const status = 'active';
<Branch branch={status}
    active={<p>ユーザーはアクティブです。</p>}
    inactive={<p>ユーザーは非アクティブです。</p>}
/>branch パラメータに value を渡すと、指定したキーに応じて対応する出力値が選択されます。
リファレンス
Props
Prop
Type
[key]: string 構文は、ブランチ候補を表す任意のキーを示します。
たとえば、active や inactive といったブランチをパラメータとして追加できます。
| Prop | Description | 
|---|---|
| branch | レンダーするブランチの名前。 | 
| children | 一致するブランチが見つからない場合に表示されるフォールバックコンテンツ。 | 
| [key]: string | 指定されたブランチ値に対する候補コンテンツを表すブランチ。各キーがブランチに対応し、その値が表示するコンテンツになります。 | 
返り値
指定したブランチに対応するコンテンツ、またはフォールバックのコンテンツを含む JSX.Element。
例外
branch プロップが指定されていない、または無効な場合に Error を投げます。
例
基本的な使い方
<Branch> は、branch プロップの取り得る各値ごとに異なる出力を返す必要があります。
この例では、出力を決定するために user.hairColor の値を使用します。
user.hairColor の想定される値に合わせて、black、brown、blonde の各プロップを定義しています。
import { Branch } from 'gt-react';
export default function HairColor({ user }) {
  return (
    <Branch branch={user.hairColor} 
      black={<p>髪の色は黒です。</p>}
      brown="髪の色は茶色です。" // (お好みで文字列を渡すこともできます)
      blonde={<p>髪の色は金髪です。</p>}
    />
  );
}フォールバックコンテンツ
branch に渡された value に一致する prop がない場合、children が常にフォールバックとして使用されます。
import { Branch } from 'gt-react';
export default function HairColor({ user }) {
  return (
    <Branch branch={user.hairColor}
      black={<p>その人の髪は黒いです。</p>}
      brown={<p>その人の髪は茶色です。</p>}
      blonde={<p>その人の髪は明るい色です。</p>}
    >
      <p>その人の髪の色は不明です。</p> // [!code highlight]
    </Branch>
  );
}<Branch> を翻訳する
コンテンツを翻訳したい場合は、単に <T> コンポーネントで包んでください。
import { T, Branch } from 'gt-react';
export default function HairColor({ user }) {
  return (
    <T id="example"> // [!code highlight]
      <Branch branch={user.hairColor}
        black={<p>その人の髪は黒いです。</p>}
        brown={<p>その人の髪は茶色です。</p>}
        blonde={<p>その人の髪は金髪です。</p>}
      >
        <p>その人の髪の色は不明です。</p> 
      </Branch>
    </T> 
  );
}variables の追加
ブランチ内で動的な値をレンダリングする場合は、必ずそれらを <Currency>、<DateTime>、<Num>、または <Var> コンポーネントでラップしてください。
import { Branch, T, Var } from 'gt-react';
export default function HairColor({ user }) {
  return (
    <T id="example">
      <Branch branch={user.hairColor}
        black={<p>髪の色は黒です。</p>}
        brown={<p>髪の色は茶色です。</p>}
        blonde={<p>髪の色は金髪です。</p>}
      >
        <p>対応していない髪色: <Var>{user.hairColor}</Var></p> // [!code highlight]
      </Branch>
    </T>
  );
}注意事項
- ブランチのキーには、branch プロップに一致する任意の文字列を指定できます。この柔軟性により、<Branch>を幅広いユースケースに容易に適用できます。
- 翻訳用の <T>や、動的コンテンツ向けのvariable componentsなどの他コンポーネントと<Branch>を組み合わせて、リッチでローカライズされたインターフェースを構築しましょう。
次のステップ
- さらに高度な使い方や例については、Branching Components の使用を参照してください。
このガイドはどうでしたか?

