Reactを学ぶ - コーディング講座
Reactを学ぶ - コーディング講座 — JSXを書いてスマートフォンで実行しながらReactプログラミングを学べます
Reactを学ぶ - コーディング講座は、iOSとAndroidで利用できる無料で始められるアプリです。Reactプログラミングを、HTML、CSS、JavaScriptを少し知っている初心者や、別のフレームワークから移行する開発者に向けて教えます。コードエディタでJSXを書き、Runをタップすると、アプリ内のライブプレビューでコンポーネントがレンダリングされる様子を確認できます。88コースと324レッスンで、最初のコンポーネントからhooks、state management、Next.jsまで学べます。途中には20のガイド付きプロジェクトも用意されています。
- 価格
- 無料、Proへのアップグレード
- プラットフォーム
- iOSとAndroid
- 言語
- 22
- 年齢レーティング
- 4+
- バージョン
- 82.6.1
- 必要環境
- iOS 15.1以降
- App Store
- 3.8 ★ (4)


コンポーネントはサーバー上ではなく、スマートフォン上でレンダリングされます。
runtime、ReactDOM、Babelはアプリに組み込まれているため、書いたJSXはデバイス上でコンパイルされ、表示されます。作成したばかりのボタンをタップしたり、フォームに入力したりして、UIの反応を確認できます。このフィードバックループによって、hooksの仕組みが理解しやすくなります。
概要
Reactを学ぶ - コーディング講座は、iOSとAndroid向けの無料で始められるReactコースです。88コースと324のインタラクティブなレッスンで、JSXの最初の1行からhooks、state management、React 19、Next.js App Routerまで学べます。内蔵エディタはデバイス上でコードをコンパイルし、コンポーネントをライブプレビューでレンダリングします。20のガイド付きプロジェクトでは、次に進む前に各ステップを確認できます。独立した学習アプリであり、MetaまたはVercelとは提携していません。
アプリの内容
画面イメージ





コース
Reactコースで学べること
アプリ独自の一覧から選んだ88コースを、Reactを初めて学ぶときの一般的な順番に並べています。
React Kickoff、JSX、Props & Composition
コンポーネント、宣言的UI、ReactがDOMを更新する仕組みから、JSXのルール、リストのレンダリング、propsによるデータの受け渡しまで学びます。
State、Events、Forms、useRef
useStateとイベント処理、バリデーション付きのcontrolled forms、そしてレンダリングを発生させずに値やDOMへアクセスできるuseRefを学びます。
useEffect、データ取得、カスタムフック
エフェクトが実行されるタイミング、依存配列、API呼び出しにおけるローディング状態とエラー状態、再利用可能なロジックを独自のhooksに切り出す方法を学びます。
Context、Redux Toolkit、Zustand
ContextとuseReducerでprop drillingなしにstateを共有する方法から、より大規模なアプリのためのRedux Toolkit、RTK Query、Zustand、Jotaiまで学びます。
Routing、React Query、Forms at Scale
クライアントサイドルーティングとReact Routerのパターン、TanStack QueryとSWRによるサーバーstate、React Hook Form、楽観的UIを学びます。
Performance、Testing、TypeScript
レンダリングとメモ化、コード分割、仮想化リスト、React Testing Libraryを使ったテスト、コンポーネントとhooksの型付けを学びます。
React 19、Server Components、Next.js
Server ComponentsとActions、SSRとハイドレーションに加え、データ取得、キャッシュ、認証を扱うNext.js App Routerを学びます。
使い方
レッスンの進み方
レッスンでは、短い概念説明の直後にコードを書いて実行するため、アイデアと結果を同じ画面で確認できます。
概念を一つ読む
学習パスからコースを開き、stateの更新方法や、リストにkeysが必要な理由など、短いレッスンを読みます。コース概要には無料で受けられるレッスンが表示されるため、申し込む前に形式を確認できます。
JSXを書いてRunをタップする
コードエディタでコンポーネントを入力して実行します。ライブプレビューではアプリ内にコンポーネントがレンダリングされるため、ボタンをクリックしたり、フィールドに入力したりして、コードの動作を確認できます。
確認して、次に進む
クイズ、コーディングミッション、ガイド付きプロジェクトで、概念をきちんと理解できたか確認できます。読み解けないhookやエラーについては、AIメンターが説明します。Bug HuntとUI Matchで、概念をもう一度実践できます。
内容
アプリに含まれるもの
88
コース、324レッスン
JSX、props、stateから、custom hooks、forms、Context、Redux Toolkit、Server Components、SSR、Next.js App Routerまでを、A1からC1のレベル別に学べます。
Live
ライブプレビュー付きエディタ
コンポーネントをアプリ内でレンダリングできる、JSX向けのコードエディタです。複数ファイルのプロジェクトでは、実際のアプリと同じように、あるコンポーネントを別のコンポーネントにimportできます。
20
ガイド付きプロジェクト
「いいね」ボタン、プロフィールカード、チップ計算機、クイズゲーム、ショッピングカートなどを、小さなステップに分けて一つずつ作成できます。各ステップで、コンポーネントが本当に動作するか確認します。
Lab
Hooks Labとpropsノブ
stateの変化と再レンダリングをすべてリアルタイムで確認し、スライダーでpropを変更してコンポーネントが更新される様子を見られます。render profilerとstate timelineはProの機能です。
30
コーディングミッション
hooks、rendering、forms、context、performanceをテーマに、easy、medium、hardのレベル別ミッションに挑戦できます。間隔反復を取り入れたUI Match、Bug Hunt、Component Recallも用意されています。
AI
AIメンター
説明を求めたり、AIにコードをレビューして修正案を提案してもらったり、好きなトピックでカスタムレッスンを生成したりできます。メンターとcertificate examはProの機能です。
背景
Reactを書くには、実際に何を、どの順番で理解する必要があるのでしょうか?
Reactは、データが変化すると自ら再描画する小さく再利用可能なコンポーネントで、ユーザーインターフェースを構築するためのJavaScriptライブラリです。初心者の多くがつまずくのは構文ではなく、その下にある考え方です。renderとは何か、何がstateに当たるのか、effectsはいつ実行されるのか。画面上で一つひとつを試せる環境で、これらの概念を順番に学ぶほうが、すべてを一度に読んで理解するよりも早く身につきます。
コンポーネントとprops再利用の単位
コンポーネントはインターフェースの一部を返す関数で、propsは親から受け取る入力です。データはpropsを通じて下方向に流れるため、コンポーネントを読めば、何が描画されるのかを予測できます。
State時間の経過とともに変化するもの
Stateは、フィールド内のテキストやメニューが開いているかどうかなど、コンポーネントがレンダリングの間も保持するデータです。stateを更新すると新しいレンダリングがスケジュールされます。これが、ほぼすべてのインタラクティブな画面を支える仕組みです。
Hooksとeffects初心者がつまずくポイント
useState、useRef、useReducerなどのHooksを使うと、コンポーネントでstateを保持し、DOMにアクセスできます。useEffectはレンダリング後にコードを実行します。依存配列を間違えることが、ループや古い値が発生する最も一般的な原因です。
レンダリングと再レンダリングアプリが遅く感じられる理由
コンポーネントはstateまたはpropsが変化すると再レンダリングされ、その中にあるコンポーネントも同様に再レンダリングされます。何がレンダリングのきっかけになったのかを知ることが、memoisationからcode splittingまで、あらゆるパフォーマンス改善の出発点です。
適しています
向いている方・向いていない方
次のような方におすすめです
- HTML、CSS、JavaScriptを少し知っていて、Reactをきちんと始めたい方
- 別のフレームワークを使っている開発者で、すぐにReactへ移行したい方
- コードを実行した瞬間に結果が画面に表示されると、最も学びやすい方
- 小さなプロジェクトのポートフォリオを作っていて、手順に沿ったガイドが欲しい方
- フロントエンドの面接対策として、練習用の質問が欲しい方
次のような方には適していません
- JavaScriptを見たことがない方。コースではJavaScriptの基礎知識が少しあることを前提としています。
- 完全なプロジェクトを構築してデプロイしたい方。ただし、その作業にはノートパソコンが必要です。
- すべて無料だと思っている方。最初のコースは無料ですが、残りのコンテンツはProで利用できます。
- Reactチーム公式のコースを求めている方。このアプリは独立したアプリです。
ご質問
よくある質問
スマートフォンでReactプログラミングを学べますか?
コアとなる考え方、コンポーネント、props、state、hooksは、書いたコードを実行できるならスマートフォンでも学べます。Reactを学ぶ - コーディング講座にはReactDOMとBabelが組み込まれているため、デバイス上のライブプレビューでJSXをレンダリングできます。より大規模なプロジェクトを構築してデプロイする段階では、ノートパソコンが役立ちます。
Reactを学ぶ前にJavaScriptの知識は必要ですか?
少し知っていると役立ちます。Reactを学ぶ - コーディング講座は、変数、関数、配列など、HTML、CSS、JavaScriptをある程度知っている方を対象としています。JavaScriptを書いたことがまったくない場合は、先にJavaScriptを学んでください。Reactのレッスンでは、JavaScriptを読めることを前提としています。
propsとstateの違いは何ですか?
propsはコンポーネントが親から受け取る入力値で、変更すべきではありません。一方、stateはコンポーネントが保持し、時間の経過とともに更新するデータです。Reactを学ぶ - コーディング講座では、Hooks Labでstateの変更と再レンダリングを確認でき、props knobsではスライダーを使ってpropを変更できます。
このアプリではuseEffectのようなhooksも学べますか?
はい。Reactを学ぶ - コーディング講座では、useState、useEffect、useRef、useReducer、custom hooks、useLayoutEffectを扱います。エフェクトが実行されるタイミング、依存配列、よくあるミスについては独立したレッスンで詳しく学べます。また、壊れたコンポーネントからバグを見つけ出すBug Huntモードもあります。
ReactはReact Nativeと同じものですか?このアプリでは両方学べますか?
いいえ。Reactはユーザーインターフェースを構築するためのライブラリで、React Nativeは同じ考え方を使ってモバイルアプリを構築します。Reactを学ぶ - コーディング講座ではまずWeb向けのReactを学び、React Native fundamentalsコースでは、Web開発者がそのスキルをモバイルへ応用する方法を学べます。
Reactを学ぶ - コーディング講座ではNext.jsとReact 19を扱いますか?
はい。コースでは、React 19の機能とServer Components、SSRとハイドレーション、ストリーミング、データ取得、キャッシュ、認証を扱うNext.js App Routerを学べます。Web開発者向けのReact Native fundamentalsコースもあります。
どのようなプロジェクトを構築できますか?
20のガイド付きプロジェクトがあり、1つずつ小さなステップを積み重ねて作成します。いいねボタン、プロフィールカード、チップ計算機、クイズゲーム、ストップウォッチ、登録フォーム、ショッピングカート、画像カルーセル、ページ分割されたリスト、todoアプリなどを作れます。各ステップでは、次へ進む前にコンポーネントが正しく動作するかを確認します。
Reactを学ぶ - コーディング講座は無料ですか?
ダウンロードは無料です。無料版には、最初のコース、1つのガイド付きプロジェクト、2つのコーディングミッション、ライブプレビュー付きのコードエディター、Hooks Lab、props knobs、Bug Hunt、1日3回のUI Matchチェックが含まれ、広告が表示されます。Proでは、すべてのコース、プロジェクト、ミッション、AI mentor、render profiler、certificate examが利用可能になり、広告も表示されなくなります。
証明書や面接対策はありますか?
最終試験に合格すると、共有可能な証明書を取得できます。証明書はProに含まれています。面接対策として、50問の面接問題、50問のクイズ、コアとなる概念を練習できるチートシートがあります。
コードはサーバー上で実行されますか?
いいえ。ランタイムはアプリに組み込まれているため、コードはデバイス上でコンパイルされ、レンダリングされます。そのため、自分で作ったボタンをタップして、プレビュー内でUIの反応を確認できます。
対応している言語とプラットフォームは何ですか?
Reactを学ぶ - コーディング講座はiOSとAndroidで利用でき、22言語に対応しています。レーティングは4+で、iPhoneではiOS 15.1以降が必要です。
CoddyKitのその他のアプリ
iOS および Androidで利用できます。