logoブルーベリーモヒート
  • 当サイトについて
  • ブログ
  • プロジェクト一覧
> Blog

React 学習ロードマップを読み解く

最終更新日: 2025/2/26
Tweet

table coffee image

はじめに

React 学習のロードマップとして、有名なものに、下記があります:

この roadmap.sh は、Google のエンジニアによって立ち上げられた OSS です。
本記事執筆時点で、GitHub 上の全てのリポジトリの中で、7番目に多くの ⭐️star を獲得しています!

一方で、これから React を学ぼうとしている人にとっては、
それぞれのスキルが、:

  • どのような技術で、
  • なにが便利なのか、、
  • どれくらい重要なのか、、、

などが、わかりづらい問題があると感じています。

なので、上記のロードマップをベースに、
それぞれのスキルについて、テンポよく紹介していきます!

少しでも、React 学習の助けになれば、嬉しいです 🙌

React 学習ロードマップの区分

最初に、本記事内では、
ロードマップを大まかな区分として、3つのパートに分けて紹介していきます::

  • React の超入門:まず React について知る
  • React の基礎:そして開発の基礎を抑える
  • React の実践:より実践的な開発のプラクティスを学ぶ

そして、適宜、roadmap.sh のロードマップと照らしながら読むことをお勧めします!

React の超入門/ロードマップ

初めは、React で開発をする上での、前提となるような内容です 👍

1. Vite :React アプリを構築する

vite は、高速な開発環境とビルドツールを提供する JavaScript のビルドツールです。

Create React App (CRA) と比較しても、:

  • vite の方が高速に動作します
  • そして、2025 年現在では、CRA のメンテナンスは既に止まっており、React 公式からも推奨されていません。

特別な理由がなければ、CRA ではなく、vite を使用した React 環境構築に慣れておくのが、おすすめです!

2. React のコンセプト:コンポーネントとレンダリングについて知る

まず React に慣れるために、下記を確認しておいてください:

  1. JSX:
    同じファイルに、JS とマークアップを記述する記法
  2. Props と State:
    コンポーネント間で値を共有する方法と、コンポーネント内で変化する状態を管理する方法
  3. 条件付きレンダリング:
    JS の条件式を使って、条件に一致するマークアップをレンダリングする方法
    三項演算子(? :)・論理演算子(&&)
  4. コンポーネントのネスト:
    childrenというpropsを使用して、コンポーネントに子コンポーネントを埋め込む方法
  5. イベント処理:
    クリック時や、フォームの挙動と、その際に発火する関数の定義
  6. リストとキー:
    配列に、map 関数などを使用する際、個別のアイテムにユニークな key を割り当てる

React の基礎/ロードマップ

React には、開発を加速させる、組み込みの便利機能(Hook)が複数存在します。

なので、次のステップでは、
このフックを中心に、基礎を固めていきます!

1. useState:React コンポーネントで変数を管理する組み込みの機能

React コンポーネントに変数を追加、そして管理するためのフックです。

useStateは、レンダー間でデータを保持することができる、コンポーネント固有のメモリです。

ここでは、state 内の配列やオブジェクトを、
イミュータブル(不変性)に操う方法も、確認してください。

2. useEffect:コンポーネントを外部システムと同期させるためのフック

useEffeact は、React が制御していないコードが必要な場合に、使用されます。
上記の公式には、以下のように記載されています:

コンポーネントによっては自身がページに表示されている間、ネットワーク、何らかのブラウザ API、またはサードパーティライブラリとの接続を維持する必要があるものがあります。これらのシステムは React によって制御されていないため、外部 (external) のものです。

ブラウザが画面を描画したタイミングや、
監視する値が変化したタイミングで、副作用を起こすことができます!

ただ、Effect を使ったデータフェッチは、公式でも推奨されていないので、別のアプローチを検討してください!

3. React Router:クライアントサイドルーティングを行うためのライブラリ

React Router は、React のアプリケーションで、クライアントサイドルーティングを実装する際の、最も有名なライブラリの 1 つです。

そもそも、従来の Web サイトは、
URL に応じたリクエストと、サーバーからのレスポンスで、HTML や CSS をブラウザ上に表示します。

しかし、クライアントサイドルーティングでは、

  • アプリが、サーバーへ別のファイルをリクエストすることなく、URL を更新
  • なので、アプリはすぐに新しい UI をレンダリング可能
  • この際、必要に応じてデータフェッチなどを行い、新しい情報でページを更新

これにより、ブラウザが新しいドキュメントファイルをサーバーにリクエストする必要がないため、UX が向上します。

これがいわゆる SPA(シングルページアプリケーション)ですね。

4. Zustand:グローバルな状態管理ライブラリを導入する

先ほど、useState で、React コンポーネント内で状態を管理できることを、紹介しました。

しかし、実際の開発では、以下のようなケースがあります:

  • アプリ内の広い範囲にわたって、共有したい変数が存在する
  • 複雑なアプリでは、State と Props での値の受け渡しでは、管理が大変になる

この場合に、
アプリ全体での状態管理を、効果的に行うためのライブラリを、導入することができます!

これの選択肢としては、下記などが挙げられます:

  • Redux
  • Zustand
  • Jotai

ここでは、Redux の思想を受け継いで、
さらに使いやすく簡素化した、Zustand をお勧めしておきます:

React の実践/ロードマップ

この先は、より実践的な解決策を学ぶ段階です。

デファクトスタンダードとなるライブラリが、
どのような課題を解決しているのかを、理解していきます。

ここから先は、大まかに分類して、紹介していきます 👍

1. React のコードベースのクオリティを担保する方法

有名どころとして、:

  • TypeScript:静的なタイプチェックによるバグの早期発見と、開発体験の向上
  • ESLint:コーディング規約の自動チェック
  • Prettier:フォーマットの自動整形
  • Husky:コミット直前に、品質チェックを強制する

上記のような、仕組みを導入することで、コードベースの品質を担保することができます!

他にも、以下のようなプラクティスで、
人間がより理解しやすいコードになります:

  • コンポーネントの分割:再利用しない UI であっても、適切に関心を分離させることで、保守性が向上
  • カスタムフック:コンポーネントのマークアップと、ビジネスロジックを分離することが可能

次から次へと、新しい事を学ぶより、まずここまでの内容で品質を向上させるのもいいですね!

2. React でのフォームの実装

React Hook Form:

  • 状態管理やイベント処理を簡素化して提供しているライブラリ
  • パフォーマンスも考慮され、エラーハンドリングも簡略化できる

Zod:

  • TypeScript ファーストな、スキーマのバリデーションが可能
  • React Hook Form との連携も簡単

これらを使用することで、useStateなどを使用した、自力でのフォーム実装よりも、簡単かつ高品質なフォームが実装できます!

また、React v19 で追加された、Action を使用すると、
サーバー側で、フォーム実行の非同期処理を行うことが可能になりました。

3. パフォーマンス最適化

React アプリケーションの、パフォーマンスを高めるには、
以下のような方法があります:

  • Tanstack Query(旧 React Query) or SWR:データキャッシュ管理を自動化し、不要なデータフェッチを解消できるライブラリ
  • メモ化(useMemo, useCallback):不要な再計算、再レンダリングを解消することができる、React 組み込みのフック
  • Suspense:アプリケーション内の、ハイドレーションを分割することで、より早くインタラクティブな状態にすることが可能

React に慣れてきたら、上記などを抑えておくと、より実践的な実装が可能になります!

4. ソフトウェアテスト:

そもそもの、
ソフトウェアテストの必要性については、下記でも解説しています:

React アプリケーションのテストに入門する際は、下記を確認しておいてください:

  • Jest, Vitest:ユニットテストの作成するライブラリ
  • React Testing Library:React コンポーネントのテストが可能
  • MSW:モック API を使用して、より本番運用に近いテストを記述できるライブラリ
  • storybook:UI コンポーネントの独立した管理とテストが可能
  • Playwright:クロスブラウザでの、E2E テストが可能

おわりに

roadmap.sh の React のページを大まかに紹介してきました!

Recat を学ぶことで、モダンなフロントエンドアプリケーションを、構築することができます!

その後は、Next.js などのフレームワークを使用したり、
React Native などで、ネイティブアプリを構築することもできますね 👍

最後まで読んでいただだき、ありがとうございます !

もし、間違いや補足情報などがありましたら、
ぜひ教えてください!

Happy Hacking ;)

最新の投稿をチェック

b13o コミュニティは、React 開発を学習するコミュニティです!
公式 X で、新着記事や勉強会イベントの情報を、チェックしてください 🙌

フォローb13oについて
© 2025 b13o.com. All rights reserved.
利用規約プライバシーポリシー特商法表記