- フロントエンド
- 技術 💻
Reactが難しい理由|学ぶ前に知りたい5つの土台
Reactを学び始めて、「思ったより難しい…」と感じている方、けっこう多いと思うんです。
でも実は、つまずいている場所はReactそのものではないことが多いんですよね。多くの場合、その手前にある土台の部分なんです。
今回は「Reactを学ぶ前に知っておくと、理解がぐっと早くなること」を書いてみます。
① JavaScriptの、この辺りだけは先に
Reactのコードを読むと、見慣れない書き方がたくさん出てきますよね。でもその多くは、Reactの文法ではなくJavaScriptの文法なんです。先に触れておくと楽になるのは、このあたりです。
| 書き方 | Reactでの出番 | 例 |
|---|---|---|
| 配列を扱う書き方(map・filter) | リストを画面に並べるとき、必ず使う | items.map(item => ...) |
| 変数の中身を取り出す書き方(分割代入) | 関数から受け取ったものを分けて使う | const { name, age } = user |
| 短く書く関数の形(アロー関数) | Reactのコードは、ほぼこの形 | const add = (a, b) => a + b |
| 非同期の考え方(async / await) | データを取りに行って、返ってくるのを待つ | const res = await fetch(url) |
ここが分かっていないと、「Reactが難しい」ではなく「そもそも何が書いてあるか分からない」状態になってしまうんですよね。
② 「状態」という考え方
これがReactのいちばんの肝だと思っています。
これまでのプログラムは、「ボタンが押されたら、この文字を書き換える」という考え方で書くことが多かったんです。Reactは違います。
「いまの状態がこうなら、画面はこう見える」を書いておく。そして状態が変われば、画面は自動的に変わる。
const [loading, setLoading] = useState(true);
return loading ? <Spinner /> : <Content />;
たとえば「読み込み中かどうか」という状態を持っておいて、それが真ならくるくるを出す、偽なら中身を出す、という書き方です。
画面を直接いじるのではなく、状態を書き換える。この発想の切り替えができると、Reactは一気に分かりやすくなります。
③ コンポーネントという分け方
画面をひとかたまりで作るのではなく、部品に分けて組み立てる考え方ですね。ボタン、入力欄、カード。それぞれを独立した部品として作って、あとで組み合わせます。
ここでつまずく方も多いんですが、実はこれ、プログラム全般の考え方と同じなんです。どこに何を書くべきか。どう分ければ後から直しやすいか。
RJCの研修でLv.03のオブジェクト指向、Lv.06のUMLクラス図を扱うのも、この「分ける力」を先に育てたいからなんです。分け方の考え方が身についていると、コンポーネントの発想はすんなり入ってきます。
④ いまの現場は、TypeScriptが前提です
これは知っておくと得な情報かなと思います。
開発の現場では、ReactをJavaScriptで書くよりも、TypeScriptで書くのがデフォルトになってきているんです。型があると、書いている途中で間違いに気づけますし、チームで開発するときに安心感が違うんですよね。
RJCの研修でJavaを先に扱うのも、実はここに効いてきます。型がある言語に慣れていると、TypeScriptの考え方がすっと入るんです。Javaで身につけた「何を入れて、何が返るか」を意識する習慣は、そのまま持っていけます。
⑤ 環境づくりで消耗しなくて大丈夫
学び始めのときって、環境構築でつまずいて心が折れることがありますよね。
いまは手軽に始められる方法が整っています。たとえばViteというツールなら、コマンド1つでReactの雛形ができあがります。
npm create vite@latest
昔の入門書でよく見る「Create React App」は、すでに新規利用が非推奨になっています。古い教材に当たったら、ここだけ読み替えてください。
Next.jsという選択肢もありますが、最初から全部を理解しようとしなくて大丈夫。Reactの考え方に慣れてから広げていく、という順番でいいと思っています。
完璧を目指さず、進んでください
Reactの学習範囲は、正直かなり広いです。でも、全部を完璧に理解してから次へ進む必要はないんですよね。
大事なのは、歩みを止めないこと。分からない部分を抱えたまま進んで、あとで「あ、あれはこういうことか」と分かる瞬間が来ます。その瞬間が来るまで、少しずつ進んでいれば大丈夫です。
よくいただくご質問
Q. JavaScriptを完璧にしてからReactに進むべきですか?
A. 完璧じゃなくて大丈夫です。配列の扱いと関数の書き方あたりが分かれば、あとは進みながら埋めていけます。
Q. TypeScriptも同時に学ぶべきですか?
A. 現場ではTypeScriptが前提になってきているので、慣れてきたら触ってみる価値は大きいと思います。
Q. RJCの研修でも、Reactを学べますか?
A. 学べます。Lv.10でSpring Boot、Lv.11でJavaScript・React・Next.jsを扱い、最終のLv.12では設計から単体テストまでのサイクルをAI駆動開発で実践します。その前にJavaで土台を作る順番になっています。
Q. 未経験ですが、フロントエンドのプロジェクトに入れますか?
A. 研修で両方に触れてから、興味に合わせて相談できます。「これを学びたい」と言える会社なんです。
つまずきは、順番の問題かもしれません
もしいまReactで手が止まっているなら、Reactの教材をもう一周するより、手前の土台を少し埋めるほうが早いかもしれません。
JavaScriptの書き方。状態という考え方。分ける力。この3つが揃うと、同じ教材が急に読めるようになったりするんですよね。
あなたの学習が、少しでも進みやすくなったら嬉しいです。
WE ARE HIRING
RJCで一緒に開発しながら、
成長を楽しみませんか?
RJCは、Web・モバイル・AIを活用した開発プロジェクトで、テックリードやPM・PMOも活躍するシステム開発会社です。会社を知る、待遇を確かめる、話を聞いてみる。気になるところ見てみてください!
- 127日年間休日
- 12時間平均残業時間
- 毎日ガチャ遊びココロも大切にする福利厚生。アマギフなどの賞品ラインナップ!
ほかにも、チケットレストラン、書籍読み放題、2年ごとの慰労報奨(休暇 or 金一封)、11期連続の黒字決算。