【2023年最新】React(v18)完全入門ガイド|Hooks、Next.js、Redux、TypeScript
What you'll learn
- Reactで頻出するJavaScriptの記法を学びます。
- ReactとReact Hooksについて深く学びます。
- Reactにおけるスタイリングの方法について学びます。
- Reactと関数型プログラミングの関係ついて学びます。
- ReactでDOMを操作する方法について学びます。
- Reactでパフォーマンスを最適化する方法について学びます。
- Reduxで状態をグローバルに管理する方法を学びます。
- クラスコンポーネントについて学びます。
- ReactでのRest APIを使ったサーバーとの通信方法について学びます。
- Next .jsについて学びます。
- SSR, SG, CSR, ISRの違いについて学びます。
- Reactでのテスト方法について学びます。
- TypeScriptを使ってReactを開発する手法について学びます。
- Reactの基礎から実践までの知識を身につけることができます。
- Reactで高速でインタラクティブなWebアプリを作成して公開することができます。
- Reactのデバッグの仕方について学びます。
- npmのコマンドの使い方やパッケージの管理方法について学びます。
Requirements
- HTML, CSS, JavaScriptの基本的な知識
- Reactの前提知識は必要ありません。
Description
「Reactってよく聞くけど、なんだか難しそう。。」
「HTML、CSS、JSは触ったことあるけど、Reactには壁を感じる。。」
「興味はあるけど自分には早いんじゃないか。。」
本コースはReactに興味があるけど、できるか自信がないフロントエンド入門者の方に向けて作成しました。
まず、皆さんにお伝えしたいのはReactは決して扱うのが難しいライブラリではないということです。
ただ、使いこなせるようになるためにはいくつか知っておくべきことがあります。
本コースではReactを使うにあたって知っておいてほしい基礎の部分を体系的、かつ網羅的に説明しています。
■ 知っておくべきこと1 | JavaScriptの挙動
JavaScriptの挙動自体が曖昧(あいまい)な場合、Reactを使いこなすことは難しいでしょう。
ReactはJavaScriptのライブラリですので、当然JavaScriptで記述することになります。
そのため、Reactに感じる複雑性の多くはJavaScript言語自体の独特の記法からくるものです。
また、Reactのコードを記述する際は分割代入やスプレッド演算子、配列の高階関数、await/asyncなどの比較的最新の記法を多用します。
そのため、十分なJavaScriptへの理解がない状態でReactを使うと、Reactが分かっていないのか、JavaScriptが分かっていないのかが切り分けられず、問題の解決が困難になります。
これがReactが難しいと思われる大きな原因の一つであると私は感じています。
本コースではReactの書き方だけではなくJavaScriptの記述で複雑に感じるであろう部分についても適宜説明しています。
これによって、JavaScriptへの十分な理解がなくてもコースを受講していただけるようにしています。
■ 知っておくべきこと2 | Reactが持つ独特の記述ポリシー
また、Reactを使いこなすためにはReactのポリシー(書き方)についても知る必要があります。
プログラミング入門者はプログラミング経験自体が浅いため、新しい言語やライブラリに出会った際に過去の経験に当てはめて最適な記述方法を考察することができません。
そのようなことを教えてくれる先輩がいればラッキーですが、多くの人はそのような恵まれた環境ではないと思います。そのため、「これで合ってるのかな?」と何となくモヤモヤした気持ちで学習をしていることと思います。
繰り返しになりますが、Reactのコードを記述する際は独特のポリシーが存在します。
そのため、そのポリシーを学べば、どのようにしてReactを記述すればよいかが自(おの)ずとわかってきます。
一つ例を見てみましょう。
例えば、本コースでは関数型プログラミングというプログラミング手法からみたReactについて触れています。関数型プログラミングというのはクラスを使わず、関数によってプログラムの保守性、拡張性、再利用性、テスト性を高めようというプログラミング言語の書き方です。
React 16.8のReact Hooksの導入からReactのポリシーはクラスを用いたオブジェクト指向型プログラミングから関数型プログラミングに完全に移行しました。そのため、関数型プログラミングがどういったプログラミング手法なのかを知ることはReactを知る上で大変重要な事になってきます。
本コースではそういったReactの背景にある思想なども交えながら、体系的にReactというライブラリについて学んでいきます。
■ 知っておくべきこと3 | Reactを取り巻く周辺知識
上で挙げた2つを学べばReact単体については使いこなせるようになるでしょう。しかし、Reactを実際のアプリで使用しようとするとReactだけを学べばよいということではないことがわかってきます。
実際にはどのようにしてサーバーとの通信をすればよいのか、どのようにReact上でデータを管理すればよいのか、どのようにしてページ管理をしていけばいいのかといった問題にぶち当たることになります。
そういった問題を解決するために本コースではReactのみに留(とど)まらず様々なRest API、Redux、Next.jsなどの周辺知識についても学んでいくことになります。ここで、それらについて全て挙げることはできませんので、興味のある方はレクチャー一覧を一度見てみてください。
■ なぜ本コースなのか?
既存の動画教材では、一本でReactとその周辺知識について体系的に、かつ網羅的に学べる教材がないように感じています。
ただ、初心者の頃は自分自身で断片的な知識をつなぎ合わせることは困難です。(そもそも、どの情報を学ぶべきで、どの情報は必要ないのかを取捨選択することも困難でしょう。)そのため、体系的、かつ網羅的に学べる教材は初心者の方にとってきっと大きな力になってくれると思います。
本コースではReactにおける確固たる基礎とその周辺の学ぶ必要のある知識にフォーカスし、Reactを最短で習得することを目的としています。
最短でReactについての基礎を固めたい方は是非本コースを試してみてください。
■ 最後に
私は「なぜこのように書くのか?」「なぜそのような挙動になるのか?」を知ることがプログラミングの上達には極めて重要だと感じています。プログラミング言語やライブラリは日々進化し続けます。そのため、暗記した知識は時代とともに使い物にならなくなってしまいます。
また、プログラムの書き方はグーグルで検索すればいくらでも確認する事ができますが、それを自分の状況に合わせて使うためには動作を理解する必要があります。そのため、プログラミングの上達においては「覚えること」よりも「理解すること」が大切になってきます。
これは本コースで学ぶReactにおいても変わりません。ただ書き方を暗記するのではなく、「なぜそのように書くのか?」「なぜそのような挙動となるのか?」それを知ることによって応用の効く技術を習得することができます。
本コースを終えた方が「Reactってそんな難しくないじゃん!」と思っていただければ、大変嬉しく思います。
■ 各種バージョン情報
React: 18.1.0
Redux: 4.2.0
Next.js: 12.1.6
TypeScript: 4.6.4
Node.js: 16
Who this course is for:
- JavaScript + HTML + CSSなどの基礎を学んで、次に何を学べばよいかわからない方
- Reactをゼロから学び始める方
- Reactを使用した高速でインタラクティブなWebアプリを開発したい方
- Reactの理解をもっと深めたい方
- Reactは難しいという先入観があり、避けてきた方
- 最新の実践的なWeb開発手法を学びたい方
- Reactなどの最新のフレームワークに興味はあるが、自分にできるか自身がない方
- Web開発のスキルをアップして、単価を上げたい方
Instructor
皆さん、こんばんは。CodeMafiaです。
私はWEBプログラミングの初学者から中級者向けの学習コースに特化して提供しています。
私のコースの中では「なぜ?」「どうして?」の説明を必ずつけるように心掛けています。「なぜそうなるのか?」「どうしてその方法で実装するのか?」それは、私が駆け出しエンジニアだった時に一番知りたかったことでした。しかし、そこまで丁寧に答えてくれる人はなかなかいませんでした。そのため、私のコースの中ではなるべく生徒さん達にモヤモヤを持ってほしくないと思い、「なぜ?」「どうして?」をできる限り説明するようにしています。基礎が理解できれば、未知の状況でも自分で考えて応用することができます。私のコースが皆さんの基礎固めのお役に立てば幸いです。
- 授業を受けてくださった皆様へ
ご受講いただきまして誠にありがとうございます。
是非、皆様のコースに対する正直な意見をお知らせください。
フィードバックをいただけると大変モチベーションにつながりますし、コースの改善に大変役立ちます。
良い意見も悪い意見も大歓迎です。
是非忌憚のない意見をお知らせください。
- 近況報告
本を出版しました。JavaScriptの動作原理について詳しく書いた本になります。思い通りにコードが書けなくて悩んでいる方は是非一度ご覧いただけますと幸いです。(全国の書店でご覧いただけますので、書店にお立ち寄りの際は是非見てみてください。)
「独習JavaScript新版」翔泳社出版 2021/11/15発売
- 略歴
- 北海道大学 工学研究科 応用物理学専攻 修了
レーザーと超音波の研究やってました。超高解像の微弱な超音波を物体に派生させることによって物性を計測する研究に携わっていました。
- ソフトバンク SE兼、開発で新卒入社〜4年間勤務
大手IT企業がどんどん世界を変えていくのを目の当たりにして、ITに興味を持ちソフトバンクに入社しました。
数億円規模のプロジェクトの立ち上げに携わる一方、大規模WEBアプリケーションの長期保守とアジャイル開発に携わっていました。フロントエンドからバックエンドまで幅広い領域を担当していました。
- フィリピンで半年間語学留学
ソフトバンクをやめてからはフィリピンに半年間語学留学していました。英語はおおよそ思ったように喋れる様になりましたが、別のところで色々ありました。笑
- 起業~現在
世界の著名な起業家になりたいという中二病的発想で何も考えず会社をやめて独立しました。ただ、そんなに世の中うまくいくわけもなく、なかなか大変な時期もありました。笑
一歩ずつ前進していけるようにこれからも精進していきたいと思います!
- 強み
もともとソフトバンクで働いていましたが、今は独立してIT業界に携わっているため、大規模アプリケーションの開発の進め方から、小規模アプリのスピーディーな開発の進め方まで多様な開発手法について知っていると思います。そのような経験の中から有益な情報を皆様にお伝えできれば幸いです。
- 行動指針
失敗してもいいから「とりあえずやってみる」ことを心掛けています。
- その他
無料で公開しているコースについては初期に収録したコースになります。お見苦しいところもあるかと思いますが、少しでもお役に立てば幸いです。
では、皆様のより一層の飛躍を心よりお祈り申し上げます!