React 速習チュートリアル

React JSX における If 文の扱い

1. 条件分岐 - if 文

React は if 文をサポートしていますが、JSX の内部(Inside)で直接使用することはできません。

JSX 内で条件付きロジックを扱うには、if 文を JSX の外側に記述するか、あるいは JSX 内部で三項演算子(Ternary expression)を使用するという 2 つのアプローチがあります。

1.1 オプション 1:JSX の外側で if 文を使用する

JSX コードを返す前に、JavaScript の標準的な if 文を使って変数の値を決定する方法です。

実装例

変数 x が 10 未満の場合は「バナナ(Banana)」を表示し、それ以外の場合は「リンゴ(Apple)」を表示する例:

function Fruit() {
  const x = 5;
  let y = "リンゴ";

  // if 文は JSX の return の外側で実行する
  if (x < 10) {
    y = "バナナ";
  }

  return (
    <h1>{y}</h1>
  );
}

2. オプション 2:三項演算子の活用

JSX の内部でインラインに条件分岐を記述したい場合は、三項演算子を使用するのが一般的です。

2.1 実装例

同じロジックを三項演算子で記述すると、コードはより簡潔になります。

function Fruit() {
  const x = 5;
  return (
    <h1>{(x) < 10 ? "バナナ" : "リンゴ"}</h1>
  );
}

JSX 内に JavaScript の式を埋め込むには、そのコードを必ず波括弧 {} で囲む必要がある点に注意してください。このルールにより、マークアップの中に動的なロジックをシームレスに統合することが可能になります。