カテゴリ: React 更新日: 2026/02/20

ReactのJSXで関数を呼び出して要素を生成する方法を完全ガイド!初心者向けReactの基本をやさしく解説

JSXで関数を呼び出して要素を生成する方法
JSXで関数を呼び出して要素を生成する方法

先生と生徒の会話形式で理解しよう

生徒

「ReactのJSXって、HTMLみたいに見えるけど関数も呼べるんですか?」

先生

「はい、JSXの中で関数を呼び出して、HTMLのような要素を作ることができますよ。」

生徒

「それってどんなときに使うんですか?」

先生

「たとえば、同じようなタグをたくさん作りたいときなどに便利です。実際の書き方を見てみましょう!」

1. JSXの中で関数を使うってどういうこと?

1. JSXの中で関数を使うってどういうこと?
1. JSXの中で関数を使うってどういうこと?

Reactでは、JSX(JavaScript XML)という書き方で、まるでHTMLのようにタグを書くことができます。でも実は、JSXはJavaScriptのコードなので、関数を呼び出してタグを生成することもできます。

これにより、同じ形のタグを繰り返し表示したいときや、条件によって表示内容を変えたいときに、とても便利になります。

2. JSXで関数を使う基本:中かっこ {} で呼び出す

2. JSXで関数を使う基本:中かっこ {} で呼び出す
2. JSXで関数を使う基本:中かっこ {} で呼び出す

JSXの中では、JavaScriptの式を 中かっこ { } で囲むことで使うことができます。これは、関数も同じです。

たとえば、{hello()} のように書けば、helloという関数を呼び出して、その戻り値を画面に表示することができます。

3. サンプルコード:関数で要素を返す

3. サンプルコード:関数で要素を返す
3. サンプルコード:関数で要素を返す

実際に、関数の中で要素を作って、それをJSX内で表示してみましょう。


import React from "react";

function App() {
  function renderMessage() {
    return <p>これは関数から表示されたメッセージです。</p>;
  }

  return (
    <div>
      <h1>こんにちは、React!</h1>
      {renderMessage()}
    </div>
  );
}

export default App;
(画面に「こんにちは、React!」と「これは関数から表示されたメッセージです。」の2行が表示されます)

関数内でReactの要素を作ってreturnすれば、それをJSXに埋め込むことができるのです。

4. 複数の要素を関数で作ることもできる

4. 複数の要素を関数で作ることもできる
4. 複数の要素を関数で作ることもできる

関数の中で複数のタグを返したいときには、<> ~ </> という「フラグメント」を使えばOKです。


import React from "react";

function App() {
  function createList() {
    return (
      <>
        <li>りんご</li>
        <li>ばなな</li>
        <li>みかん</li>
      </>
    );
  }

  return (
    <ul>
      {createList()}
    </ul>
  );
}

export default App;
(画面に「りんご」「ばなな」「みかん」のリストが表示されます)

<> ~ </> は「React.Fragment」の省略記法で、余計なタグを増やさずに複数の要素を返せる便利な方法です。

5. 繰り返し処理で関数を使ってリストを作る

5. 繰り返し処理で関数を使ってリストを作る
5. 繰り返し処理で関数を使ってリストを作る

関数を使うと、配列とmap関数を使って要素を量産することもできます。これは、商品一覧やコメント表示などでよく使われる書き方です。


import React from "react";

function App() {
  const items = ["ノート", "えんぴつ", "けしゴム"];

  function renderItems() {
    return items.map((item, index) => (
      <li key={index}>{item}</li>
    ));
  }

  return (
    <div>
      <h2>持ち物リスト</h2>
      <ul>
        {renderItems()}
      </ul>
    </div>
  );
}

export default App;
(画面に「ノート」「えんぴつ」「けしゴム」のリストが表示されます)

このように、関数を使って要素を動的に作成することで、コードを短く・わかりやすく保つことができます。

6. なぜ関数を使うのか?メリットとは

6. なぜ関数を使うのか?メリットとは
6. なぜ関数を使うのか?メリットとは

JSXの中で関数を使うことには、いくつかのメリットがあります。

  • 同じ構造の要素を再利用できる
  • 複雑な条件やデータ処理を関数の中で整理できる
  • JSXの中身をスッキリさせて、読みやすくできる

たとえば、「3つのアイテムを表示するコード」を何度も書くのではなく、関数として定義しておけば、必要なときに呼び出すだけで済みます。

7. JSXで呼び出せる関数のルール

7. JSXで呼び出せる関数のルール
7. JSXで呼び出せる関数のルール

関数をJSXで呼び出すときは、必ずタグの外で中かっこ {} を使って書きます。また、戻り値としてReact要素(タグ)を返す必要があります。

以下のような書き方はエラーになります。


<div>
  <renderItems() /> ←これは間違い!
</div>

JSXの中で関数を呼ぶときは、以下のように書きましょう。


<div>
  {renderItems()} ←これが正しい!
</div>

8. JSXと関数を組み合わせて使えるようになろう

8. JSXと関数を組み合わせて使えるようになろう
8. JSXと関数を組み合わせて使えるようになろう

Reactでは、JSXと関数を組み合わせることで、より柔軟で再利用性の高いコードが書けます。特に、リストの描画、条件分岐、繰り返し処理などにおいては、関数を使うことでコードの見通しがよくなります。

最初は難しく感じるかもしれませんが、何度も書いていくうちに自然と身についていきますよ。

まとめ

まとめ
まとめ

JSXと関数の関係を振り返ろう

ここまで、ReactのJSXで関数を呼び出して要素を生成する方法について、基本から具体例まで丁寧に見てきました。 JSXは見た目こそHTMLに似ていますが、実体はJavaScriptの構文拡張であり、式として評価されるという大きな特徴があります。 そのため、JSXの中では変数だけでなく、関数の呼び出しや配列処理、条件分岐など、JavaScriptの力をそのまま活用できます。

特に初心者の方が最初につまずきやすいポイントとして、「JSXの中でなぜ中かっこを使うのか」「関数をタグのように書いてはいけない理由」 といった点がありますが、この記事で紹介した通り、JSXの中でJavaScriptを使う場合は、必ず中かっこで囲む必要があります。 これはReactの基本ルールであり、今後コンポーネントを分割したり、状態管理を学んだりする際にも何度も登場します。

関数で要素を返すメリット

JSXで関数を使って要素を生成する最大のメリットは、コードの再利用性と可読性が大きく向上する点にあります。 同じ構造の要素を何度も書く代わりに、関数としてまとめておけば、必要な場所で呼び出すだけで同じ表示を再現できます。 これにより、修正が必要になった場合も、関数の中身を一か所直すだけで済むため、保守性の高いReactアプリケーションを作ることができます。

また、配列とmap関数を組み合わせてJSXを生成する方法は、React開発において非常によく使われます。 商品一覧、メニューリスト、コメント表示など、実際のWebアプリ開発では「同じ形のデータを繰り返し表示する」場面が頻繁に登場します。 そのようなときに、関数とJSXを組み合わせた書き方を理解していると、Reactの仕組みが一気に身近に感じられるようになります。

サンプルプログラムで最終確認

ここで、今回学んだ内容をまとめたシンプルなサンプルプログラムをもう一度確認してみましょう。 JSXの中で関数を呼び出し、リスト要素を生成する基本形です。


import React from "react";

function App() {
  const fruits = ["りんご", "ばなな", "みかん"];

  function renderFruits() {
    return fruits.map((fruit, index) => (
      <li key={index}>{fruit}</li>
    ));
  }

  return (
    <section className="mb-5">
      <h2>フルーツ一覧</h2>
      <ul>
        {renderFruits()}
      </ul>
    </section>
  );
}

export default App;

このように、関数がReact要素を返し、それをJSXの中で呼び出すことで、画面に動的な内容を表示できます。 「関数は値を返すもの」「JSXはその値を受け取って表示できる」という考え方を意識すると、Reactの理解がより深まります。

先生と生徒の振り返り会話

生徒

「JSXって、ただHTMLっぽく書くだけのものだと思っていましたけど、 中かっこを使えば関数まで呼べるのが分かって、Reactらしさを感じました。」

先生

「いい気づきですね。JSXは見た目に惑わされがちですが、 JavaScriptの式として評価される点がとても重要なんですよ。」

生徒

「関数で要素をまとめておくと、同じリストを何度も書かなくていいので、 コードがすごくスッキリするのも実感できました。」

先生

「その感覚は大切です。Reactでは、小さな関数やコンポーネントを組み合わせて 画面を作っていくので、今回の内容は今後の学習の土台になります。」

生徒

「次は条件分岐やコンポーネント分割にも挑戦してみたいです。 JSXと関数の関係が少しずつ分かってきました。」

先生

「とても良い流れですね。今回学んだJSXと関数の使い方をしっかり身につけておくと、 これからのReact学習がぐっと楽になりますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

ReactのJSXでは関数を使ってHTMLのような要素を作れますか?

はい、ReactのJSXはJavaScriptコードの一部なので、関数を使ってHTMLのような要素を生成することが可能です。JSX内で関数を呼び出すことで、タグや要素を柔軟に表示できます。
カテゴリの一覧へ
新着記事
New1
React
Reactコンポーネントの再利用と分割を完全マスター!初心者でもわかるコンポーネント設計
New2
React
ReactでAxiosインターセプターの使い方を完全ガイド!初心者でもわかるリクエストとレスポンスの処理方法
New3
React
JSXの書き方!初心者でもわかるReactタグと属性の基本ルール解説
New4
React
ReactとDockerを使った開発環境構築の基本を徹底解説!初心者でもわかるReactとDockerの連携方法
人気記事
No.1
Java&Spring記事人気No1
React
ReactでonChangeイベントを使ってフォーム入力値を管理する方法を初心者向けに解説
No.2
Java&Spring記事人気No2
React
ReactとTypeScriptの環境構築をやさしく解説!Viteとtsconfigの設定も丁寧に紹介
No.3
Java&Spring記事人気No3
React
Reactのイベントハンドリングのアンチパターンまとめ!初心者でもわかる注意点
No.4
Java&Spring記事人気No4
React
Reactのカスタムフックの作り方を完全ガイド!再利用可能なロジックを切り出す仕組み
No.5
Java&Spring記事人気No5
React
ReactでFetch APIのローディング状態を管理する方法|初心者にもわかる解説
No.6
Java&Spring記事人気No6
React
ReactのuseStateとuseEffectでよくあるエラーと解決方法ガイド!初心者でもわかるReactフック
No.7
Java&Spring記事人気No7
React
create-react-appでReactプロジェクトを作成する手順を初心者向けに完全解説!
No.8
Java&Spring記事人気No8
React
Reactでファイルアップロードを実装する方法を解説!Fetch APIで画像やPDFを送る仕組みを初心者向けに紹介