【読書メモ】React Cookbook(英語版)を読んで

date
Jun 28, 2022
slug
report-react-cookbook
status
Published
summary
React Cookbook(英語版)をサクッと読んでみた際のメモ書き
type
Post
ステータス
notion image
書籍リンク
どんな本か気になっている人向けのざっくり内容まとめです。

本の概要

React Cookbookは、よく使う実践的なコードを集めたレシピ本のような書籍です。
各テーマのサンプルコードが「Problem」ベースで書かれており、例えばGatsbyの章では、create-react-appではブログやECサイトのような複雑なコンテンツを効率的に表示するのに適していない、というProblemが最初に書かれていて、その後にGatsbyというソリューションがありますよ、という説明とそのサンプルコードの解説があり、最後にDiscussionというまとめがある、みたいな構成になっています。こんな感じでproblem / solution / サンプルコード / discussionのセットが80以上載っている本です。
 
  • 7章に別れている
      1. アプリケーションの作成
      1. Routing react-router-dom
      1. State管理 reducer
      1. Interaction Design reducerとかanimation
      1. サービスとの接続 これはAPIとの接続部分で、GraphQLも
      1. コンポーネントライブラリ material-ui semantic-ui
      1. セキュリティ react-router-domでセキュアなrouteを作ったりとかカスタムでトークン認証するとか
      1. テスト Cypress Selenium
      1. アクセシビリティ
      1. パフォーマンス React Profileとかを使ったパフォーマンス計測
      1. PWA
  • 内容の例(気になった部分)
    • nwb
      • 複数のプロジェクトで共有するコンポーネントをサクッと作成したい
      • nwb new react-component component-name で共通コンポーネントが作れる
    • Cypress
      • 実際のブラウザテストはコストがかかり管理が大変
      • “describe('screenshot', () => {
            it('should be able to take a screenshot', () => {
                cy.visit('/');
                cy.screenshot('frontpage');
            });
        });
      • cy.get('h1').scrollIntoView()
      • cy.get('input').type('Hi!')
      • cy.get('.Norman').click()
      • cy.contains('Fred')
      • クッキーやstorageの操作も可能
    • react-transition-group
    • undo機能を作る
    • reduxのcreateSelector
      • redux/reselectの機能
      • 計算に利用するセレクタを指定し、それが更新された時だけ新しい値を返す(変更がなければキャッシュを使う)
    • メッセージ投稿機能の例
      • setStateVersionでカウントしていく
      • setStateVersion((v) => v + 1)
      • これを副作用に入れる
    • Redux Middleware
      • notion image
    • パフォーマンス
      • Profiler(パフォーマンストラッキング)
      • <Profiler id="Navigation" onRender={callback}>
          <Navigation {...props} />
        </Profiler>
      • performance.now()
 

© わくてか 2022