Data Fetching: Data Fetching Patterns and Best Practices | Next.js の内容について自分向けに情報を要約したり、周辺の知識をメモしておくページ
可能な限り Server Component によるサーバー上でのデータ取得が推奨されており、これにより以下ことが実現できる
TODO:
コンポーネントツリーの中で同じデータが必要なコンポーネントが複数ある場合に、データをグローバルに取得したり props により受け渡したりする手法があるが、そのようなことをする必要はない。
その代わりに fetch
や React の cache
を用いて必要な場所で必要なデータを取得してもパフォーマンス上問題が発生しないようになっている。これは fetch
や cache
によるメモ化の振る舞いによるものとなる。
Suspense
を活用することにより、必要なデータが取得できてないローディング状態の UI をまずはじめにレンダリングし、取得後にデータが格納された UI を表示することができる。これによりユーザーはページ全体のロードを待たずに UI の操作が可能となる。
後述の sequential data fetching が生じるパターンに対して、ページについては loading.js、コンポーネントについては Suspense
が有効なプラクティスとなる。
waterfalls を防ぐ他の方法として preload がある
ウェブ界隈でエンジニアとして労働活動に励んでいる @gomi_ningen 個人のブログです