React インストール(Vite)
Vite は、現代のブラウザのネイティブ ES モジュール対応を利用することで、高速な開発体験を提供することを目的とした、モダンなフロントエンドビルドツールです。
Vite は現在 React 公式が推奨する最優先ツールであり、従来の Create React App より速く、軽量で、開発体験も優れています。
Vite はネイティブ ES Modules に基づいており、秒単位のホットリロード(HMR)に対応し、起動時間は通常わずか数百ミリ秒です。
Vite の詳細はこちら:Vite チュートリアル。

なぜ Vite + React なのか?
- 超高速起動: 開発サーバーが即座に起動し、ホットリロードはほぼリアルタイムです。
- モダンな機能: JSX、TypeScript、CSS Modules、PostCSS などを標準サポート。
- 軽量で柔軟: 設定ファイルがシンプルで、簡単にカスタマイズできます。
- 本番向け最適化: Rollup ビルドを内蔵し、出力サイズが小さく、高性能です。
- 公式の推奨: React 公式ドキュメントは Vite をデフォルトの推奨ツールとしています。
最初の Vite + React プロジェクトを作成する
ターミナルを開きます(Windows: PowerShell/コマンドプロンプト;macOS/Linux: ターミナル)。
npm を使用してインストール:
npm create vite@latest my-first-react-app -- --template react
推奨コマンド(pnpm を使用、最速でディスク容量も節約):
pnpm create vite@latest my-first-react-app -- --template react
他のパッケージマネージャーのコマンド:
yarn を使用してインストール:
yarn create vite my-first-react-app --template react
コマンドの説明:
create vite@latest: 最新版の Vite 作成ツールを使用。my-first-react-app: プロジェクト名(小文字 + ハイフンを推奨)。-- --template react: React テンプレートを指定。
対話プロセス(選択を求められます):
- プロジェクト名: そのまま Enter を押して確定するか、変更します。
- フレームワークを選択: 選択してくださいReact。
- バリアントを選択:
- JavaScript(入門におすすめ、まずは純粋な JS を使用)。
- TypeScript(上級者向けにはこちら、型安全性が高く、後から切り替え可能)。
ここでは選択しますJavaScript。
数秒待つと、プロジェクトの雛形が作成されます。
依存関係をインストールしてプロジェクトを起動する
プロジェクトディレクトリに移動cd my-first-react-app、依存関係をインストール:
npm install
開発サーバーを起動:
npm run dev
ブラウザが自動的に http://localhost:5173 を開きます(Vite のデフォルトポート)。
Vite + React のロゴとカウンターの例が表示されたウェルカムページが確認できます。これが最初の React アプリケーションの実行です。

ホットモジュールリプレイスメント(HMR)体験: 任意のコード(後で説明)を変更して保存すると、ページが自動更新され、リフレッシュ不要です。これが Vite の魔法です。
プロジェクト構造の詳細
プロジェクトフォルダを開きます(VS Code 推奨:code .コマンドでワンクリックで開く)。
cd my-first-react-app code .

代表的な構造は次のとおりです:
my-first-react-app/ ├── public/ # 静态资源(直接复制到构建输出) │ └── vite.svg # Vite Logo ├── src/ # 源码主目录(重点!) │ ├── assets/ # 图片等资源 │ │ └── react.svg │ ├── App.jsx # 主组件(应用入口) │ ├── main.jsx # 入口文件(挂载根组件) │ ├── index.css # 全局样式 │ └── vite-env.d.ts # TypeScript 声明(JS 项目可忽略) ├── .gitignore ├── index.html # HTML 入口模板 ├── package.json # 依赖和脚本 ├── vite.config.js # Vite 配置文件(目前为空,可自定义) └── README.md
主要ファイルの説明:
- index.html: ページのエントリポイント、
<div></div>React のマウントポイントです。 - src/main.jsx: React の起動ファイル。React 18 の新しい API を使用してルートノードを作成します。
- src/App.jsx: メインコンポーネント。デフォルトではカウンターの例が含まれています。
コードを修正: 最初の React コンポーネント
開くsrc/App.jsx、すべての内容を以下のコードに置き換えます(簡単な挨拶から始めましょう):
例
import reactLogo from './assets/react.svg'
import viteLogo from '/vite.svg'
import './App.css'
function App() {
const [count, setCount] = useState(0)
return (
<div className="App">
<div>
<a href="https://vitejs.dev" target="_blank">
<img src={viteLogo} className="logo" alt="Vite logo" />
</a>
<a href="https://react.dev" target="_blank">
<img src={reactLogo} className="logo react" alt="React logo" />
</a>
</div>
<h1>こんにちは、React+ Vite!</h1>
<div className="card">
<button onClick={() => setCount((count) => count + 1)}>
現在のカウント:{count}
</button>
</div>
<p>
編集<code>src/App.jsx</code>そして保存してホットリロードを体験!
</p>
</div>
)
}
export default App
保存後、ページは自動更新されます。完全な関数コンポーネントが作成できました:
import { useState } from 'react': Hook をインポート。useState(0): 状態変数を宣言し、count、初期値を 0 にします。onClickイベント: ボタンをクリックして状態を更新し、再レンダリングをトリガーします。- JSX 構文: HTML のように見えますが、実際は JavaScript です。
ちょっとした演習:
- タイトルを自分の名前に変更:
<h1>你好,[你的名字]!</h1> - 新しいボタンを追加: 減算カウントを表示。
<button onClick={() => setCount(count - 1)}> 减一 </button>
エントリーファイル: src/main.jsx を理解する
開くsrc/main.jsx:
例
import ReactDOM from 'react-dom/client'
import App from './App.jsx'
import './index.css'
ReactDOM.createRoot(document.getElementById('root')).render(
<React.StrictMode>
<App />
</React.StrictMode>
)
説明:
ReactDOM.createRoot: React 18 の新しい API。並行処理の機能を有効にします。<App />: メインコンポーネントをレンダリングします。<React.StrictMode>: 開発モードでの厳格なチェックで、問題の発見に役立ちます。
新しいコンポーネントを追加(コンポーネント化の実践)
にsrc/の下に新しいファイルを作成components/HelloWorld.jsx(先に手動でフォルダを作成):

// src/components/HelloWorld.jsx
function HelloWorld({ name }) {
return <h2>欢迎,{name || '陌生人'}!</h2>
}
export default HelloWorld
にApp.jsxでインポートして使用:
import HelloWorld from './components/HelloWorld.jsx' // 在 return 中添加: <HelloWorld name="サンプル" />
保存して更新すると、新しいコンポーネントがレンダリングされるのが確認できます。これがコンポーネント化の魅力です。再利用、組み合わせが可能!
スタイルとリソースの処理
- CSS: 直接 import
./App.css、通常の CSS をサポートします。 - 画像: import 後に変数として使用します(Vite が自動最適化)。
- 応用: CSS Modules をサポート(ファイル名
.module.css)、Tailwind CSS(後で設定可能)。
プロダクションビルドを作成する
開発が完了したら、デプロイ用の静的ファイルをビルド:
npm run build
出力先はdist/フォルダ: 純粋な HTML/CSS/JS で、Vercel、Netlify などにアップロードできます。