データの読み込み
データは、loader
とclientLoader
からルートコンポーネントに提供されます。
Loaderデータは、ローダーから自動的にシリアライズされ、コンポーネントでデシリアライズされます。文字列や数値などのプリミティブ値に加えて、ローダーはPromise、Map、Set、Dateなどを返すことができます。
クライアントデータの読み込み
clientLoader
は、クライアント側でデータを取得するために使用されます。これは、ブラウザからのみデータを取得することを好むページやプロジェクト全体に役立ちます。
サーバーデータの読み込み
サーバーレンダリング時、loader
は初期ページロードとクライアントナビゲーションの両方で使用されます。クライアントナビゲーションは、ブラウザからサーバーへのReact Routerによる自動fetch
を通じてローダーを呼び出します。
loader
関数はクライアントバンドルから削除されるため、ブラウザに含まれることを心配することなく、サーバー専用のAPIを使用できます。
静的データの読み込み
プレレンダリング時、ローダーは本番ビルド中にデータを取得するために使用されます。
プレレンダリングするURLは、react-router.config.tsで指定されます。
サーバーレンダリング時、プレレンダリングされていないURLは通常どおりサーバーレンダリングされることに注意してください。これにより、特定のルートで一部のデータをプレレンダリングしながら、残りの部分をサーバーレンダリングできます。
両方のローダーの使用
loader
とclientLoader
は同時に使用できます。loader
はサーバー側の初期SSR(またはプレレンダリング)で使用され、clientLoader
は後続のクライアント側のナビゲーションで使用されます。
次へ: アクション
参照: