ShotaroHirose59 / nextjs-dashboard

Learn Next.js
https://nextjs-dashboard-dun-pi-28.vercel.app
0 stars 0 forks source link

Chapter10 Partial Prerendering (Optional) #16

Open ShotaroHirose59 opened 3 months ago

ShotaroHirose59 commented 3 months ago

Partial Prerendering is an experimental feature introduced in Next.js 14. The content of this page may be updated as the feature progresses in stability. https://nextjs.org/learn/dashboard-app/partial-prerendering

Topics

ShotaroHirose59 commented 3 months ago

部分プリレンダリングと動的生成を組み合わせたレンダリング手法

スクリーンショット 2024-03-17 9 37 29

When a user visits a route:

ShotaroHirose59 commented 3 months ago

部分的なプリレンダリングはどのように機能しますか?

Partial PrerenderingはReactのConcurrent APIを活用し、Susppenseを使用して、何らかの条件が満たされるまで(例えばデータがロードされるまで)アプリケーションの一部のレンダリングを延期する。

フォールバックは、他の静的コンテンツと一緒に最初の静的ファイルに埋め込まれます。ビルド時 (もしくは再検証時) に、ルートの静的な部分はプリレンダリングされ、残りはユーザーがルートをリクエストするまで延期される。

コンポーネントを Suspense でラップしても、コンポーネント自体が動的になるわけではなく (この動作を実現するために unstable_noStore を使用したことを覚えておいてください)、むしろ Suspense はルートの静的な部分と動的な部分の境界として使用されます。

確かにそうだった。 Suspenseで囲ってもそのコンポーネント自体が動的になるわけではない。Suspenseは境界

部分的なプリレンダリングの素晴らしいところは、それを使うためにコードを変更する必要がないことです。ルートの動的な部分をラップするためにSusppenseを使用している限り、Next.jsはルートのどの部分が静的で、どの部分が動的であるかを知ることができます。

境界を作っておけば、Partial Prerenderingが実装可能になった時に、動的レンダリングされるコンポーネントのコードには影響はなさそう

ShotaroHirose59 commented 3 months ago

アプリケーションのデータ・フェッチを最適化するためにこれまでやってきたこと