プログラミング

実務でコーダーの私がやったReactの勉強方法(Hooks対応)

Reactは情報がどんどん新しくなっていますがネットの情報は古い物も多くあります。

2019年2月にReact Hooksが登場してから関数コンポーネントが主流でクラスコンポーネントがどんどん非推奨みたいな扱いになっていつ正式に非推奨になるか分からないです。

それなのに2020年を過ぎてもネットではクラスコンポーネントで解説している記事を見かけます、超有名なProgateですらクラスコンポーネントです。

こんな状況なのでどういう勉強をすればいいかが分からなかったのですが散々調べてReactを身に付けるまでの勉強方法について解説します。

2020年9月にReactの勉強を始めた私のスタートのスキルは↓です。

  • WordPressでサイトを作るのとフックでサイトのカスタムを始めた段階(PHPはよく分かっていない)
  • JavaScriptで簡単な操作はできてドットインストールでミニアプリを作る勉強をしている
  • 実務でLPのコーディングをひたすらしている

だからプログラミングに関しては実務未経験者とそんなに変わらないと思うので実務をまだしていない人は参考になると思います。

↓の人の記事を読んでから勉強方法を探したのですが他の言語のコードをガンガン書いている人の目線とこれからコードを書く人ではプログラムの理解力が違うので参考にした記事と勉強方法が異なる部分があります。

↓と同じ記事を書いた人が読んだ記事を読んで「どこがいいんだろう?」と思う時もありました。

Reactの学習、今からやるならこうする

JavaScriptの勉強に関しては最初Progateで勉強しています、万が一JavaScriptの勉強をしていない人はProgateで勉強しましょう。

JavaScriptを勉強しないとReactの理解はできません。

ここからProgateのJavaScriptのページに飛べます。

 

マジでやめた方がいい勉強方法

みんなが知っているProgate

ProgateのReactの内容ですが現在は非推奨に近いです。

開発元のマイクロソフトは「クラスコンポーネントは非推奨にはしない」と言っているみたいですがReact Hooksがどんどん強くなっているので時間の問題で消えていく気がします。

Progateはクラスコンポーネントというやり方の解説をしていますが現在は関数コンポーネントが主流になっています。

私は1ヶ月位Progateで勉強し続けて非推奨になったのに気がついたので何度も何度もProgateで学習するのは意味がないです。

この記事を書いているのが2020年10月ですがその辺りでもクラスコンポーネントで解説している人がいます、恐らくProgateで勉強した人でしょう。

 

Progateと同じ位有名なドットインストール

Progateで勉強してからドットインストールで勉強しましたがこれは絶対にやめた方がいいです。

理由は定数など置いたりコンポーネントを置く時に何でもかんでも同じ名前で置いているので動画を見る回数が増えるほど訳が分からなくなりました。

それとクラスコンポーネントで説明しているので内容的にダメです。

 

Reactの公式チュートリアル

公式はクラスコンポーネントで説明しています。

Progateで勉強した後にクラスコンポーネントに慣れるのにならいいですが今は非推奨になっているからお勧めしません。

それと最後のチャプターがすごく難しいので私は全く理解ができなくて読むのを止めました。

Twitterでも難しいというツイートを見かけます。

ここからチュートリアルに飛べます。

 

超有名なudemy

udemyは高評価の講座であっても必ず悪い評価を見た方がいいです、いい評価しかない講座は経験上怪しいです。

Reactの評価が高い講座で↓みたいに悪い書き込みがされているのがあります。

(良い点)

1.常に公式ドキュメントを参照してAPIを使い方を説明している。

(問題点)

1.アプリケーション実装の具体的な説明は良いが、その前段階の概要の説明がおぼつかない

2.「リファクタリング」の途中で(=動かない状態で)機能を追加したりしている。これではリファクタリングとは言えない

3.レクチャーのタイトルは「Hooks と Redux を組み合わせて~」となっているので、Redux ライブラリの説明もされると期待するかもしれないが、ほとんど Redux は登場しない。

4.ほとんど Redux ライブラリの機能は登場しないが、説明は Redux をベースにしているので混乱する

もっと良い点を挙げたいが、全体的に説明があやふやだと感じた。コードがあれば、コードを読んだり、実際に動かすことで、何を言っていたのかが分かる、という感じ。

Reactの講座はどれもこんな感じなのでどうせ返金することになって時間が無駄になるからudemyは使っていません。

 

最初に勉強するのは多分これが一番いいと思う

「どうしよう」と思ってネットで探していたらnoteで↓を見つけました。

同じ作者でクラスコンポーネントで解説した記事もありますが私は最初これで勉強したら途中で動かなくなったので著者のコードが間違っていると思い読むのを止めました。

コードをコピペしたけどダメでした。

【無料!】 Reactの基礎を学んでTODOアプリを作ろう!

そして有料で動かなくなったら怖いけど最新版の記事を読んだらちゃんと動きました。

コードエラーは確か二ヶ所ありましたが明らかに気がつくエラーなので自分で修正が可能です。

明らかに間違いが分かる所なので著者が確認をしていないのでしょう。

解説に関しては丁寧で難しい内容ではないし実装内容的に長いコードではないので挫折はないと思います。

金額が1980円で内容と比べると高いと思いますが初心者に最適なのが現状これしかないと思います。

【最新版・hooks対応】 Reactの基礎を学んでTODOアプリを作ろう!

見る前にまず↓の記事を読むと理解が深まると思います、無料で読めますが有料級に解説が詳しいです。

React入門チュートリアル (3) 属性と状態

React入門チュートリアル (4) フォームとイベントハンドリング

React入門チュートリアル (4)は練習問題(1)(2)(3)があるのですが(3)は難しいのでひとまず飛ばした方がいいです。

 

次はこれで勉強した

↓で勉強したのですが無料です、ただ内容が最初に勉強した1980円の記事より少し難しいので最初にこれで勉強すると挫折する可能性があります。

同じTODOリストを作るのですが実装内容が多いのでコードが長く感じると思います。(私は長く感じました)

ただ丁寧に説明しているので次に読む内容としてはお勧めだと思いますが私はいきなり全部の実装をするのではなく自分の能力的に実装可能な所までをやりました。

記事の内容の質問はお気軽にどうぞと解説の最後に書いてありますが返事がないかもしれないです。

というのは私は以前Twitterでリプライを出して返事をくれてもよさそうな内容なのにいいねがついただけの塩対応だったからです。

偏見ですが分からないメソッドやオブジェクトがあっても質問はしないつもりで自分で調べた方がいいです。

React入門チュートリアル (5) ToDoアプリを作ってみよう

 

りあクトは個人的に合わなくて読んでない

ネットで見つけて調べたらめっちゃいいみたいなのを見たので無料版を読んだのですが文章がだーっと並んでいて吐き気がしたのと書いてある内容が難しすぎる印象だったので読むのを止めました。

合う人もいるかもしれないので興味がある人は体験版を読んでみるといいです。

りあクト! TypeScriptで始めるつらくないReact開発 第3版【Ⅰ. 言語・環境編】

りあクト! TypeScriptで始めるつらくないReact開発 第3版【Ⅱ. React基礎編】

りあクト! TypeScriptで始めるつらくないReact開発 第3版【Ⅲ. React応用編】

 

次が悩んだ

Reactの学習、今からやるならこうするの人はREDUXを学んでいたのですが調べたらREDUXは大規模開発で小〜中規模開発ではReact Hooksを勉強した方がいいというのを見ました。

YouTubeでも「REDUXはぶっちゃけ大規模開発じゃないといらない、まずReactのコードがちゃんと書けるようになった方がいい」と言う人がいます。

その人はReactとREDUXを一緒に勉強するのは絶対ダメと言ってました。

だからReact hooksについて勉強しようと思いました。

↓の記事がおすすめでuseState、useEffectが基本というのをネットで見たのでそれを見ています。

他にもありますが必要になったら読めばいいと思います。

React hooksを基礎から理解する (useState編)

React hooksを基礎から理解する (useEffect編)

説明の中で「副作用」という言葉が出てきて「何だろう?」と思って探したら記事がありました、↓です。

React入門チュートリアル (6) 副作用

 

現在Techpitの記事でひたすら勉強

そしてネットである人のReactの勉強はこうやったみたいな記事を読んでTechpitというサイトを知ってその中の「React × TypeScript でマークダウンエディタを作りながらモダンなフロントエンド開発に入門しよう!」で勉強したというのを見ました。

難易度は初心者用と書いてあったので説明通りにやっていったらまあエラーが多く出たり情報が古いという印象でした。

Gitの操作でエラーが出たときはこの記事を読みました。

npmエラーが出た時はこの記事を読みました。

致命的なエラーはないけど(気が付く)コード間違いもありました。

わからない所があったら質問すれば丁寧に答えてくれるみたいです、質問に答えている感じが丁寧そうでした。

著者がバックエンドのエンジニアで独学で苦労したから「初めて見た人が理解しやすい説明を心がけます」みたいに書いてありました。

でも実務未経験の人には難しいと感じると思います、他の言語を勉強した人にとっては理解しやすいのかもしれません。

私は何度も「え?理解できないけど、、」と思ってネットで調べています。

これで1980円は高いですが他に勉強方法がないからしょうがないです。

ただターミナルとGitを使ったやり方をしたことがないのでそういうのは私にとって貴重でした。

 

Techpitの注意点

Techpitは記事を買って勉強するのですが「1つ1つの記事の買い切り」か「学び放題コース」があります。

エンジニアが身勝手な人が多いのがよく分かるのですが記事の内容が間違っているのに質問に答えない人がめっちゃ多いです。

私はVue.jsも勉強しているのですがまともな記事は1つだけでした。

多分ですが返金がないので買い切り型だと運営にクレームが多くて学び放題コースができたんだと思います。

Twitterを見ると↓です。

だからハズレ記事を買って後悔しないためにも「学び放題コース」がいいです。

月額2980円ですがほとんどの講座を勉強できるからコスパがいいです。

Reactの講座で勉強して内容に間違いがないか間違っていても返事が返ってくる講座は↓です。

スネークゲームを作って学ぶ React Hooks API での状態管理

React × TypeScript でマークダウンエディタを作りながらモダンなフロントエンド開発に入門しよう!

Reactは勉強のやり方に関する情報があまりなくて間違った勉強をすると時間が無駄になるのでこの解説がお役に立てると幸いです。