【書評】これからはじめるReact実践入門 コンポーネントの基本からNext.jsによるアプリ開発まで( @yyamada )
今回もWINGSプロジェクトの書籍レビュアーに応募し、献本してもらったので、書評を書きました。
WINGSプロジェクトの皆様、著者の山田様ありがとうございます。
今回は表題の書籍を献本していただきましたので、こちらのレビューをさせていただきます。
要約
今までReact以外のJavaScriptフレームワークを使っていて、Reactを使うことになった人には必携の1冊。辞書的にも使いたい。
既にReactの経験がある方、あるいはプロジェクトで経験した特定の書き方しか知らない方にも書籍全体で見ると新しい気づきを得られる1冊となっています。
導入/私の前提知識
書評の書き手の技術レベルを読み手も把握できた方が良いと思うので簡単に記載します。端的にいうと、主戦場/強みはWebフロントではないが、フルスタックエンジニアとして開発には加わることができて、技術選定もできるかなのレベル感です。
私のJavaScript(TypeScriptの経験を含む)の直近5年の経験は以下になります。
- React/TypeScriptを用いて、toC向けの画面/管理を作成して、実際のサービス運用。
- GraphQLをプロジェクトで導入し、Apolloなどを実践投入。
- 他の書籍の書評を通して、個人開発でReact/Vue3/ReactNativeなどで簡単なアプリを作成。
私自身、実務でのReactでのプロジェクト経験は前職の1プロジェクトのみで、今の現場ではモバイルアプリとバックエンドを中心に開発しております。
その中で、社内ではReactで作るプロジェクトも増えており、以下の書籍を会社のメンバーで輪読を行なっております。
また、前職でもいきなりReactをやることになったものの、基礎が分からず、以下の書籍を読んだりして理解が怪しかった点を補足して開発しておりました。
書評
ここから書籍の具体的な内容の書評に入らせていただきます。
端的にいうと、自分ではRactで調べながら開発できるものの、より良いベストプラクティスやメンバーなどから質問を深掘りされた時に答えられなかったもの/理解できなかったものが、この書籍をパラパラと読むと2023年時点では説明できることができそうというところです。
具体的に全部に目を通した中で、良いトピックや知らなかった話を取り扱っているところを簡単にリスト化します。
- Note: manifest.json
- P91 補足: コンポーネントの更新タイミング
- 3-3-4 プロパティ型の検証(PropTypes)
- 4-3 React Hook Form(Yup含む)
- 5-1-1 Suspentコンポーネント
- 5-3-2 Error Boundary
- 6-1 MUI
- 6-3 React Query
- 7-5 Recoil
- 7-6 memo/userMemo/userCallback
- 7-7 useTransition
- 7-8 フックの自作
- Chapter8 ルーティング
- Chapter9 テスト
- 10-2-5 関数コンポーネントの型定義
- Note Void Function Componet
- Chapter11 Next.js(サンプルコードがある点やAppRouter)
上記で挙げたようなところから他に細かい点であったり、MUIやJestなどのところをコードレビューする時に公式リファレンス見れば速いが、サクッと確認したい時はこの書籍のまとめてあるところだけ確認すれば良い場面もありそうだなと思いました。
また、読む前にReduxの説明があるだろうなーと思って読んでいたらRecoilが出てきたのはかなりイけていると思いました。
加えて、バックエンド出身者やジュニアの方はメモ化を知らない人が多く、その上でmemo/userMemoも記載されていたのは良かったと思いました。
逆に、おそらく他の人も書いているとは思いますが、2023時点で見ると以下は直近の流れに反していて、これをバイブルとする人がいたら混乱しそうだと思いました。
- CreateReactAppを使っていること(今ならVite一択ではないか?)
おそらく執筆期間が長かったこともあり、ここら辺は入れ込めなかったのかなと推察します。
また、書籍の売れ筋にも影響するのかもしれませんが、全てTypeScript前提で書いてもらえると嬉しかったです。
説明を埋めることで書籍のページ数も圧縮できて、泣く泣く入れられなかったであろう内容も詰め込めたのではないかと思い、そこら辺は残念でした。
今回の書籍の形式だと難しいとは思いますが、以前以下のAndroidの書籍のレビューに参加させていただいた時に、Kotlin前提なら良かったとレビューを記載させてもらった際に、次の版からJava版に加えてKotlin版が発売されるようになったので、そこも期待しての記載となります。
以上、簡単ではございますが書評のレビューとさせていただきます。