Almighty 🚀
App Router
Dynamic
Server Cache
Prefetch
Image Prefetch
On Mouse Down
このデモは NextFaster のプロジェクトを参考にしています。ここでは、ナビゲーションが瞬時に感じられます。最初のクリックで画像さえも読み込みが見えません。このデモは様々な機能を組み合わせています。
モックデータは gpt-4o-mini dall-e-3 を使用して カスタムスクリプト で生成しています。
App Router
このデモは App Router を使用しています。Next.js でアプリを開発する新しい方法です。ネストされたレイアウトをサポートし、ローディング状態、エラーハンドリング、データフェッチのための組み込みソリューションを提供します。デフォルトでサーバーコンポーネントを使用し、初期ページリクエストから追加データをストリーミングすることが容易です。
Dynamic
このページには API を通じてフェッチされた動的コンテンツが含まれており、読み込みに約 1 秒かかります。Pages Router では、データフェッチロジックをクライアント側で処理する必要があります。App Router では、データをサーバーコンポーネント内で直接フェッチでき、コードが少し簡素化されます。
Server Cache
動的コンテンツはサーバー側でキャッシュされています。このキャッシュはすべてのユーザー間で共有されます。キャッシュの再検証はスケジュールされたり、オンデマンドでトリガーされたりします。このデモでは unstable_cache を使用して動的コンテンツをキャッシュしていますが、新しい実験的な use cache 機能を使用することをお勧めします。
1const getCachedDynamicData = unstable_cache(getDynamicData);
Prefetch
Link コンポーネントは prefetch={true} で設定されており、Next.js に動的コンテンツを含むページ全体をプリフェッチするよう指示します。
Image Prefetch
このデモには、リンクホバー時に次のページの画像をプリフェッチするカスタムロジックがあります。これは元々 NextFaster プロジェクトで実装されました。確認したい主なコードは prefetch-images API ルートとカスタム link.tsx コンポーネントです。
On Mouse Down
このデモのリンクは、マウスダウン時にナビゲーションをトリガーします(クリックした瞬間にナビゲーションが開始され、リリースを待ちません)。これにより、ナビゲーションが少し速く感じられます。