エンジニア1年生の自分に教えたいReact学習で重宝できる教材と記事まとめ

## はじめに

自分は2021年に新卒でWeb系の開発会社にフロントエンジニアとして入社し2022年で2年目になります。

実務ではReact×TypeScriptを利用したフロント周りの開発をメインで行なっていなす。

今回は、エンジニア1年目の自分に教えたいフロント(React)学習で重宝できる教材と記事を分野別にまとめていきます。

Qiitaではフロント向けのまとめ記事を書いているので合わせて読んでいただけると嬉しいです。

https://qiita.com/KNR109/items/e13a5c5b8b461e846902

https://qiita.com/KNR109/items/d127687d54a12e992143

https://qiita.com/KNR109/items/9f7ec8dd03d0bea8dc35

## この記事の対象者

- React初心者から中級者
- フロントエンドエンジニアを目指している人
- Reactの学習方法を知りたい人

##  この記事の目標

- Reactの学習教材や記事を知ることができる
- React周辺に関する知識を学習できる教材や記事を知れる

## React全般

### [トラハック(Youtube)](https://www.youtube.com/channel/UC-bOAxx-YOsviSmqh8COR0w)

[![スクリーンショット 2022-12-15 7.30.20.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/04fff27f-f418-e71a-779e-af93f12cc9de.jpeg)](https://www.youtube.com/channel/UC-bOAxx-YOsviSmqh8COR0w)

[トラハックさん](https://twitter.com/torahack_?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor)のYoutubeではReactを基礎から応用まで動画で学ぶことができます。

動画内では図解による説明も多く、解説もかなり丁寧なのでReact未経験の方でも無理なく着いていくことができます。

またECアプリ開発をしながらReactをアウトプットする動画も出ているので実践的な学習をすることができます。

このクオリティーのものが全て「無料」で学習できることに驚きを隠せません。

### [【2022年最新】React完全入門ガイド(Udemy)](https://www.udemy.com/course/react-complete-guide/?LSNPUBID=d6wS94Fam*0&ranMID=47984&ranSiteID=d6wS94Fam.0-VQF4uQ1FchPcaMsJLvryEA&utm_medium=udemyads&utm_source=aff-campaign)

[![スクリーンショット 2022-12-15 7.35.23.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/22589dd1-30e2-bdfa-629c-43cd19138d28.jpeg)](https://www.udemy.com/course/react-complete-guide/?LSNPUBID=d6wS94Fam*0&ranMID=47984&ranSiteID=d6wS94Fam.0-VQF4uQ1FchPcaMsJLvryEA&utm_medium=udemyads&utm_source=aff-campaign)

Udemy講師でも有名な[CodeMafia](https://twitter.com/codemafia0000)さんが出されている[【2022年最新】React完全入門ガイド](https://www.udemy.com/course/react-complete-guide/?LSNPUBID=d6wS94Fam*0&ranMID=47984&ranSiteID=d6wS94Fam.0-VQF4uQ1FchPcaMsJLvryEA&utm_medium=udemyads&utm_source=aff-campaign)ではReactの本質的から実践的な部分まで幅広くカバーしている講座になっています。

動画内ではReactで使われる機能を「なぜこのような挙動をするのか」といった部分まで掘り下げて解説をしてくれているので、初心者でも深い部分まで理解することができます。

またReact18やNext.jsといった最新のフロント技術もキャッチアップすることができます。

こちらのUdemy講座では下記の内容が具体的には学べます。

- ReactとJavaScriptの文法について
- イベントリスナと状態管理
- 制御構文とフォームの制御
- ReactのStyleについて
- DOM操作
- 関数プログラミングについて
- カスタムフックについて
- パフォーマンスの最適化
- API連携
- Next.js
- テストの書き方

基礎から網羅的にかつ本質的な部分まで学びたい人にはおすすめ講座になっています。

### [JavaScriptの基礎から始める挫折しないためのReact入門 (Udemy)](https://www.udemy.com/course/modern_javascipt_react_beginner/?LSNPUBID=d6wS94Fam*0&ranMID=47984&ranSiteID=d6wS94Fam.0-fRk17WalkZbgR8hDp_SisQ&utm_medium=udemyads&utm_source=aff-campaign)

[![スクリーンショット 2022-12-15 7.42.22.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/5353e224-bff3-887a-6cd5-d0aa98724d83.jpeg)](https://www.udemy.com/course/modern_javascipt_react_beginner/?LSNPUBID=d6wS94Fam*0&ranMID=47984&ranSiteID=d6wS94Fam.0-fRk17WalkZbgR8hDp_SisQ&utm_medium=udemyads&utm_source=aff-campaign)

こちらの講座はUdemyで最高評価を獲得している講座になっています。

JavaScript本体の基礎解説から始まり、Reactの基礎から応用まで幅広く学べる講座になってます。

解説もかなり掘り下げてくれているので初心者でも疑問を残さずに学習を進めることができます。

JavaScript自体に少し不安がある人や、React学習をこれから始めたい人におすすめの講座です。


## TypeScript

### [サバイバルTypeScript](https://typescriptbook.jp/)

[![ogp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/6916f5ed-2037-e004-1434-68041c85b011.png)](https://typescriptbook.jp/)

[サバイバルTypeScrip](https://typescriptbook.jp/)tは[suin](https://twitter.com/suin)さんが執筆された、実務で利用するTypeScriptの機能を厳選して解説しているドキュメントになっています。

「**ここだけ押さえておけば、実務で死なない)(=サバイバルできる)**」をコンセプトに作られています。

各章、TypeScript機能の基礎解説から始まり、具体例の解説と進んでいくため基礎から、「具体的な使い方」を学ぶことができる教材になっています。

TypeScriptをこれから学習する人や実践的な内容を学びたい人にはおすすめの教材です。

### [プロを目指す人のためのTypeScript入門](https://www.amazon.co.jp/dp/B09Y527YPV/ref=as_sl_pc_as_ss_li_til?tag=sutabaopen-22&linkCode=w00&linkId=7378f3d85ea1723a477705c85ba624d9&creativeASIN=B09Y527YPV)

[![スクリーンショット 2022-12-15 8.17.57.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/55456ca4-e2d1-4535-1cb6-1615625a3ab4.jpeg)](https://www.amazon.co.jp/dp/B09Y527YPV/ref=as_sl_pc_as_ss_li_til?tag=sutabaopen-22&linkCode=w00&linkId=7378f3d85ea1723a477705c85ba624d9&creativeASIN=B09Y527YPV)


[プロを目指す人のためのTypeScript(通称ブルーベリー本)](https://www.amazon.co.jp/dp/B09Y527YPV/ref=as_sl_pc_as_ss_li_til?tag=sutabaopen-22&linkCode=w00&linkId=7378f3d85ea1723a477705c85ba624d9&creativeASIN=B09Y527YPV)はフロント界隈でも有名な[uhyo](https://twitter.com/uhyo_)さんが執筆したTypeScriptの入門書籍となっています。

入門といってもかなり本質的な部分まで解説されているので、初心者から上級者までの層に学びがあるような書籍になっています。

本書で学べる内容は、

- 基本的な文法と型
- オブジェクトの基本
- 関数
- クラス
- 高度な型
- モジュールシステム
- 非同期処理

となっており6章で紹介されている「高度な型」では中級者以上の人でもかなり学びのあるような内容かつ、実務でもつかる手法がまとまっています。

TypeScriptを学び始めたい人や、ワンランクステップアップしたいという方におすすめの書籍になっています。

## React×TypeScript

ReactとTypeScriptそれぞれの基礎学習が済んだあとは、Reactの実務現場ではほぼ確定で使われる構成「React×TypeScript」の学習教材を紹介していきます。

### [Reactが楽しくなるステップアップコース完全版](https://www.udemy.com/course/react_stepup/?LSNPUBID=d6wS94Fam*0&ranMID=47984&ranSiteID=d6wS94Fam.0-fgJoDpXm7TIygp9QnCa3DA&utm_medium=udemyads&utm_source=aff-campaign)

[![スクリーンショット 2022-12-15 8.24.21.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/eceed7ef-81f2-b3d2-534b-67437379853e.jpeg)](https://www.udemy.com/course/react_stepup/?LSNPUBID=d6wS94Fam*0&ranMID=47984&ranSiteID=d6wS94Fam.0-fgJoDpXm7TIygp9QnCa3DA&utm_medium=udemyads&utm_source=aff-campaign)

こちらの講座はUdemyで最高評価を獲得している講座になっています。

Reactの基礎文法の解説から始まり、スタイルの当て方やコンポーネント分割といった内容を学んだ上で、実際にアプリ開発を通して学んだ技術をアウトプットすることができる内容になっています。

具体的に学べる内容は下記のようになっています。

- レンダリングの仕組みと最適化
- CSSの当て方
- ルーティングの基本
- コンポーネント分割について
- グローバルstateの管理法
- API連携
- React×TypeScriptの開発
- カスタムフック

React×TypeScripは実務現場でほぼ使われる構成なので、ぜひこちらの講座で学習をしてみてください。

## React×Firebase

次に実務現場でもよく使われるReact×Firebase構成の学習教材を紹介していきます。

### [React+Firebase入門](https://zenn.dev/masalib/books/2d6e8470732c8b)

![スクリーンショット 2022-12-15 8.45.53.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/5a1a5269-2d6d-a0a9-16c2-b6c01621743b.jpeg)

[React+Firebase入門](https://zenn.dev/masalib/books/2d6e8470732c8b)ではReactとFirebaseを基礎から網羅的に学習することができる教材になっています。

具体的には認証機構、ファイルアップロードといったFirebaseの重要機能を具体的に開発を通して学ぶことができる講座になっています

実務現場でReact×Firebaseのを使う人におすすめの入門講座です。

### [Firebase+React HooksによるWebアプリ開発(Udemy)](https://www.udemy.com/course/firebase-react-hookstypescriptweb/?LSNPUBID=d6wS94Fam*0&ranMID=47984&ranSiteID=d6wS94Fam.0-vLSiaaQs9l66aLy4xs0qDA&utm_medium=udemyads&utm_source=aff-campaign)

[![スクリーンショット 2022-12-15 8.48.46.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/dffa8c70-23b1-585a-08b0-3c054b93644f.jpeg)](https://www.udemy.com/course/firebase-react-hookstypescriptweb/?LSNPUBID=d6wS94Fam*0&ranMID=47984&ranSiteID=d6wS94Fam.0-vLSiaaQs9l66aLy4xs0qDA&utm_medium=udemyads&utm_source=aff-campaign)

こちらのUdemy講座ではReact×Firebaseの構成を実際にTwitterのクローンアプリ開発を通して学習することができます。

アプリ開発を実際に経験できる講座なので、アウトプットを通してより現場で使える技術としてステップアップさせることができます。

## Next.js

### [Next.js公式チュートリアル](https://nextjs.org/learn/basics/create-nextjs-app)

Next.jsの学習は[公式チュートリアル](https://nextjs.org/learn/basics/create-nextjs-app)が個人的に一番わかりやすかったのでおすすめです。

英語に抵抗がある人は、Qiita記事で和訳してくれているものがあるのでそちらを参考に学習を進めてみてください。

https://qiita.com/thesugar/items/01896c1faa8241e6b1bc

公式チュートリアルではNext.jsの基礎を網羅的に学習できるので、これからNext.jsを学習したい人にはおすすめの教材になっています。

### [【2022年最新】React完全入門ガイド](https://www.udemy.com/course/react-complete-guide/?LSNPUBID=d6wS94Fam*0&ranMID=47984&ranSiteID=d6wS94Fam.0-VQF4uQ1FchPcaMsJLvryEA&utm_medium=udemyads&utm_source=aff-campaign)

![スクリーンショット 2022-12-15 9.01.45.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2695521/7c2ba6e2-bf49-2599-6053-baec6cce1bfb.jpeg)

こちらの教材はReactのおすすめ学習教材の章でも紹介したのですが、Nextを学ぶ上でもおすすめの教材になっています。

Next.js学習の最初の壁である「SSR, SG, ISR」といった内容を図解を用いてわかりやすく解説をしてくれています。

またNext.jsのAPI Routesといった応用的な内容も扱っているので、基礎から応用まで幅広く学習をすることができます。

## その他

ここまではReact, TypeScript, Next.jsといった大枠的な内容の学習教材や記事を紹介してきましたが、ここからは少し深い分野の学習教材を紹介していきます。

### 設計関連

Reactを開発する上で重要な設計を学べる教材や記事を紹介します。

#### [React公式ドキュメント](https://ja.reactjs.org/docs/design-principles.html)

https://ja.reactjs.org/docs/design-principles.html

React公式ドキュメントではReact本体の設計原則について解説されています。

少し内容は難しいので理解するのに時間はかかりますが、Reactを実務現場で使っていく上で知っておくべき考え方がまとまっているのでぜひ参考にしてみてください。

具体的には下記の内容がトピックとして挙げられています。

- コンポジション
- 共通の抽象化
- 避難ハッチ
- 安定性
- 相互運用性
- スケジューリング
- 開発体験
- デバッグ
- 設定
- DOM を超えて
- 実装
- ツールへの最適化
- ドッグフーディング


#### [コンポーネント設計の（個人的）ベストプラクティス](https://zenn.dev/offers/articles/20220523-component-design-best-practice)

https://zenn.dev/offers/articles/20220523-component-design-best-practice

こちらの記事ではコンポーネント設計の考え方や具体的なディレクトリ構成を紹介しています。

各レイヤーにおける、責務も明確に解説してくれているので非常に参考になる記事になっています。

#### [SOLID原則で考えるReact設計](https://zenn.dev/koki_tech/articles/361bb8f2278764)

https://zenn.dev/koki_tech/articles/361bb8f2278764

こちらの記事ではSOLID原則である、

- SRP: 単一責任の原則
- OCP: 開放閉鎖の原則
- LSP: リスコフの置換原則
- ISP: インタフェース分離の原則
- DIP: 依存性逆転の原則

をReactに落とし込んで解説をしてくれている記事になっています。

具体的なコードを用いて「悪い例」と「リファクタリング後の例」を提示してくれているので、理解がしやすい内容になっています。

### テスト関連

#### [公式ドキュメント](https://ja.reactjs.org/docs/testing.html)

https://ja.reactjs.org/docs/testing.html

公式ドキュメントではテストの書き方や方針が丁寧に解説されているので、これからReactのテストを学習をしていく人にとって「何をすべきか」といった指針を学ぶことができます。

#### [【入門】フロントエンドのテスト手法まとめ](https://qiita.com/KNR109/items/7cf6b24bed318dab5715)

https://qiita.com/KNR109/items/7cf6b24bed318dab5715

こちらの記事ではフロントエンド(React)のテスト手法について「なぜテストを書くのか」といった解説から、具体的なコードを用いてテストの書き方を紹介している記事になっています。

テストを書いたことがない人やこれから学習をしていきたい人に参考にして欲しい記事になっています。

### パフォーマンス周り

#### Webフロントエンドパフォーマンスチューニング75選

https://qiita.com/nuko-suke/items/50ba4e35289e98d95753

こちらの記事ではフロントエンドにおけるパフォーマンスチューニングが網羅的に紹介されています(随時更新されている)。

具体的なコード例も記載されているので理解がしやすい記事になっています。

フロントエンド開発をする人全員に一度は読んでいただきたい記事になっています。

#### Reactパフォーマンス最適化まとめ

https://qiita.com/KNR109/items/9f7ec8dd03d0bea8dc35

こちらの記事ではReactにおけるパフォーマンス最適化が解説されています。

レンダリングの仕組みから始まり、どういった方針でパフォーマンスを最適化していくべきかを順を追って解説しています。

具体的なコードと共に解説をしているので初心者でも理解しやすい内容になっています。

#### アプリ開発(アウトプット)

https://zenn.dev/gunners6518/books/4c4672f32dd100

https://zenn.dev/prune/books/0d7d6e3c5f0496

https://www.techpit.jp/courses/138

## 最後に

いかがだったでしょうか、今回はエンジニア1年生の自分に教えたいReacrt学習のおすすめ教材を紹介しました。

他にもいろいろな記事を出しているのでぜひ読んでいただけると嬉しいです。

https://qiita.com/KNR109/items/e50c981e0518141be28f

https://qiita.com/KNR109/items/e13a5c5b8b461e846902

https://qiita.com/KNR109/items/d127687d54a12e992143