ReactとNodeを一度に理解するのに最適な、シンプルながらも必須要素を網羅した例題をご紹介します。
最も基本的な**「掲示板(ToDoリスト)」**の構造で、データの流れ(フロントエンド ↔ バックエンド ↔ データベース)を把握するのが一番の近道です。
### 1. 全体的な構造
* **Frontend (React):** ユーザーインターフェース、HTTPリクエスト(axios/fetch)
* **Backend (Node.js/Express):** APIエンドポイントの作成、ビジネスロジック
* **Database:** データの保存(最初は簡単な配列やJSONファイルから始めるのがおすすめ)
---
### 2. 必須で学ぶべき要素(チェックリスト)
#### [Node.js / Express]
* **Expressサーバーの構築:** `app.listen()` でサーバーを起動する方法
* **REST APIの概念:** GET(取得)、POST(作成)、PUT(修正)、DELETE(削除)の4つのメソッド
* **CORSの設定:** React(ポート3000)とNode(ポート5000)が通信できるようにする設定
* **body-parser:** クライアントから送られてくるJSONデータを解析する方法
#### [React]
* **useState / useEffect:** データの状態管理と、コンポーネント読み込み時のAPI呼び出し
* **Axios:** Node.jsサーバーにリクエストを送るライブラリの使い方
* **Map関数:** サーバーから受け取った配列データを画面にリスト表示する方法
---
### 3. おすすめの学習ステップ
1. **Node.jsで簡単なAPIを作る:** `/api/hello` にアクセスすると `{"message": "Hello"}` を返すサーバーを作ってみる。
2. **Reactでそのデータを呼ぶ:** `useEffect` を使って、サーバーのメッセージを画面に表示させる。
3. **データの送信:** Reactの入力フォーム(input)に入力した内容を、Node.jsの配列に追加する(POST)。
4. **データの削除:** 特定のアイテムのIDをサーバーに送り、配列から削除する(DELETE)。
### 4. ヒント
最初はデータベース(MongoDBやMySQL)を繋げようとすると難易度が上がるので、まずは**Node.jsサーバー内の変数(配列)にデータを保存する**形で作ってみてください。サーバーを再起動するとデータは消えますが、ReactとNodeの通信の流れを理解するにはそれが最も効率的です。