Categories: html css js

React入門ガイド:初心者が最初に知っておくべき基礎と実践ステップ

近年、Web開発の現場で欠かせない存在となっている「React」。Facebook(現Meta)が開発したこのライブラリは、シンプルかつ効率的にUIを構築できる点から世界中のエンジニアに支持されています。これからWebアプリケーション開発を学ぼうと考えている方にとって、Reactは必ず習得しておきたい技術の一つです。

しかし、「JavaScriptは少し触ったことがあるけど、Reactは難しそう」「どこから学び始めればいいのかわからない」と悩む方も多いのではないでしょうか。

本記事では、Reactの基本的な概念から環境構築、コンポーネントの作り方、状態管理、そして実際のサンプルコードまでをわかりやすく解説します。初心者がつまずきやすいポイントにも触れながら、実践的に学べる内容にしました。この記事を読み終える頃には、あなたもReactを使って簡単なWebアプリを作れるようになるはずです。


Reactとは?その特徴とメリット

Reactは、ユーザーインターフェースを構築するためのJavaScriptライブラリです。フレームワークではなくライブラリであるため、必要な部分に組み込んで使えるのが大きな特徴です。

Reactのメリットとしては以下の点が挙げられます。

  • コンポーネント指向:UIを小さな部品(コンポーネント)に分割して開発できる
  • 仮想DOM(Virtual DOM):差分だけを更新するため高速に描画可能
  • エコシステムの豊富さ:React RouterやReduxなど、周辺ライブラリが充実
  • 企業やサービスでの実績:MetaやNetflixなど大規模サービスで実運用されている

Reactを始めるための環境構築

Reactを学ぶ第一歩は、開発環境を整えることです。

必要な準備

  1. Node.jsとnpmのインストール
    ReactはNode.jsをベースに動作するため、まずは公式サイトからNode.jsをインストールします。npm(パッケージ管理ツール)も同時に導入されます。
  2. 開発用エディタ
    Visual Studio Codeがおすすめです。豊富な拡張機能と快適なデバッグ環境が整っています。
  3. Reactプロジェクトの作成
    最も簡単な方法は、公式が提供するツール「Create React App」を利用することです。 npx create-react-app my-app cd my-app npm start これでローカル環境でReactアプリが立ち上がります。

Reactの基本概念

コンポーネントとは

Reactにおける開発の最小単位が「コンポーネント」です。例えば、ボタンや入力フォーム、ナビゲーションバーなど、UIの部品を独立して作成・管理できます。

例:シンプルなコンポーネント

function Hello() {
  return <h1>Hello, React!</h1>;
}

JSX(JavaScript XML)

Reactでは、HTMLに似た構文をJavaScript内に記述する「JSX」を使います。これにより、直感的にUIを記述できるようになります。

Props(プロパティ)

コンポーネントに外部からデータを渡す仕組みです。

function Welcome(props) {
  return <h1>こんにちは、{props.name}さん!</h1>;
}

State(状態)

コンポーネントが持つ内部データを管理する仕組みです。

import { useState } from "react";

function Counter() {
  const [count, setCount] = useState(0);
  return (
    <div>
      <p>現在のカウント: {count}</p>
      <button onClick={() => setCount(count + 1)}>増やす</button>
    </div>
  );
}

イベント処理とユーザー操作

Reactでは、イベント処理もシンプルに書けます。

function Button() {
  const handleClick = () => {
    alert("クリックされました!");
  };
  return <button onClick={handleClick}>クリック</button>;
}

Reactでよく使うフック(Hooks)

Hooksは、React v16.8から導入された新しい機能です。代表的なフックは以下です。

  • useState:状態管理
  • useEffect:副作用処理(データ取得やDOM操作など)
  • useContext:コンテキストAPIでデータを共有

例:useEffectの利用

import { useState, useEffect } from "react";

function Timer() {
  const [time, setTime] = useState(0);
  useEffect(() => {
    const interval = setInterval(() => setTime((t) => t + 1), 1000);
    return () => clearInterval(interval);
  }, []);
  return <p>経過時間: {time}秒</p>;
}

小さなアプリを作ってみよう

ToDoアプリの例

import { useState } from "react";

function TodoApp() {
  const [task, setTask] = useState("");
  const [todos, setTodos] = useState([]);

  const addTodo = () => {
    if (task) {
      setTodos([...todos, task]);
      setTask("");
    }
  };

  return (
    <div>
      <h1>Todoリスト</h1>
      <input
        value={task}
        onChange={(e) => setTask(e.target.value)}
        placeholder="タスクを入力"
      />
      <button onClick={addTodo}>追加</button>
      <ul>
        {todos.map((t, index) => (
          <li key={index}>{t}</li>
        ))}
      </ul>
    </div>
  );
}

よくあるつまずきポイント

  • JSXでタグを閉じ忘れる
  • Stateを直接変更してしまう(必ずsetStateを使う)
  • コンポーネント間のデータ受け渡しで混乱する

学習の次のステップ

  • React Router:ページ遷移を実現
  • Redux / Recoil / Zustand:状態管理を効率化
  • Next.js:Reactをベースにしたフレームワークで本格的な開発が可能

まとめ

Reactは最初は取っつきにくい印象を受けるかもしれませんが、コンポーネント・状態管理・フックの3つを理解すれば一気に開発が楽しくなります。まずは小さなコンポーネントやアプリを作り、徐々にステップアップしていくのが習得の近道です。

この記事で紹介した基礎を押さえれば、あなたもReactを使ってモダンなWebアプリケーションを開発できるようになるでしょう。

upandup

Web制作の記事を中心に、暮らし、ビジネスに役立つ情報を発信します。 アフィリエイトにも参加しています。よろしくお願いいたします。