661
594

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Last updated at Posted at 2020-04-27

Reactの学習を初めて約2週間が経ちました。
Railsの時と違って「とりあえずこれをやっておけば良い」ってものが見当たらずなかなか大変でしたが、試行錯誤の上色々と見えてきたのでまとめていきます。

はじめに

React普通にむずいです。
他の言語の経験が無い場合、VueやRailsなどから始めることをおすすめします。

学習前の知識レベル

  • Railsエンジニア
  • JavaScriptは簡単なDOM操作程度ならできる
  • Vue.jsを20時間くらい勉強した(途中でReactがやりたくなった)
  • Webpackで静的ページのコーディング環境を整えている

学習法見定める上での難点

  • Reactは過去数年で大きく進化しているので、今は主流ではなくなった書き方の記事、チュートリアルがたくさんある
    • 公式チュートリアルもProgateも古い書き方
  • Railsチュートリアルのような絶対的な教材が存在しない

学習方法

ProgateのReactコース

https://prog-8.com/languages/react
雰囲気を掴むにはProgateが一番です。
有料ですが、数時間で終わるので980円(税別)でいけます。

web上のチュートリアルが終わったら、作ったアプリをローカルで再現するといい感じに知識が定着します。
create-react-appを使うと、reactの開発環境が簡単に整うのでこのタイミングで覚えましょう。

公式チュートリアル(三目並べ)

公式チュートリアルを改造して◯◯してみた、的な記事が色々あったりするので、やっておいた方が良いです。ある種の共通言語になります。

りあクト!シリーズを読む

このシリーズは本当に良いです。Reactの歴史、教義、このライブラリは昔流行ってたけど今は使われてないから注意、などなど、いろんなことが会話形式で楽しく学べます。強くおすすめします。

ちなみもう1つ、りあクト! Firebaseで始めるサーバーレスReact開発という作品もありますが、Firebaseの説明が中心になるので、この段階で読む必要はないと思います。
私は読みましたが「Firebaseクセ強すぎ。Reactの基礎が固まる前に手を出すものじゃないな」という感想だけを抱きました。

(2020/09/24追記)
りあクト! TypeScriptで始めるつらくないReact開発の改訂版が出ました。
大幅に更新・増補・改訂され、3部作となりました。
私はまだ読めていませんが、今から読むなら以下の3冊から入るのが良さそうです。
りあクト! TypeScriptで始めるつらくないReact開発 第3版【Ⅰ. 言語・環境編】
りあクト! TypeScriptで始めるつらくないReact開発 第3版【Ⅱ. React基礎編】
りあクト! TypeScriptで始めるつらくないReact開発 第3版【Ⅲ. React応用編】

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

ここにきて初めて「関数コンポーネント + ReactHooks」が登場します。
Progateと公式チュートリアルでは「クラスコンポーネント」という、今は主流ではない書き方で書かれています。このチュートリアルでHooksの基礎を学びましょう。

Reduxの基礎の勉強

このあたりで、Reduxとは何者か、雰囲気を掴んでおくと良いでしょう。

React/ReduxでGoogleカレンダー風カレンダーアプリケーションを作ろう←今ここ

Googleカレンダー的なアプリを作りながら、Reduxやuiライブラリ、非同期処理などをガッツリ学びます。
かなり分量がありますが、すごく良かったです。Railsチュートリアル的な立ち位置かと。
ちなみに
【最新版・hooks対応】 Reactの基礎を学んでTODOアプリを作ろう!
と同じ作者です。

この記事を書いている2020年4月27日時点で、私はこのチュートリアルが終わった段階です。
ここまで2週間かかりましたが、色々回り道をしたので、素直に上からやっていけば10日と掛からず終わるんじゃないでしょうか。

今後やっていこうと思っていること

先ほどのステップで作ったカレンダーを色々いじっていこうと思っています。
具体的には

  • 教材(極力)を見ずに再現する
  • TypeScriptを組み込む
  • APIサーバーを自前で用意する(RailsのAPIモードを使ってみる)
  • Storybookを使う
  • ESlintとPrettierの設定をガッツリやる
  • redux-thunkをredux-sagaで書き換える
  • Jest、Cypressでテストを書く
  • StyledComponentを使う

これらが終わったら、NextとかGatsbyを触ってみたいですね。

その他参考になった記事など

良くなかった方法

最後に良くなかった方法も書いていきます。

  • UdemyのReactの教材
    • 評価の高いものを買ってみたのですが、まじで全然良くなかったです
    • 動画だと、振り返るのが大変なのもマイナス
  • 書店に並んでいる本
    • 良し悪し以前に、そもそも情報が古いものがほとんどでした
  • だらだらネットサーフィンをして情報を集める
    • 「手を動かす」「記事にまとめる」の2つに比べて学習効率が低いです。「りあクト」は超良書なので例外ですが、基本的には手を動かすのが吉だと思います。

これからも頑張っていきます。

661
594
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
661
594

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?