default.js
default.js
ファイルは、パラレルルート 内でフォールバックをレンダリングするために使用されます。Next.js がフルページロード後に スロット のアクティブな状態を復元できない場合に利用されます。
ソフトナビゲーション 中、Next.js は各スロットのアクティブな 状態(サブページ)を追跡します。しかし、ハードナビゲーション(フルページロード)の場合、Next.js はアクティブな状態を復元できません。この場合、現在の URL にマッチしないサブページに対して default.js
ファイルがレンダリングされます。
以下のフォルダ構造を考えてみましょう。@team
スロットには settings
ページがありますが、@analytics
にはありません。

/settings
にナビゲートすると、@team
スロットは settings
ページをレンダリングし、@analytics
スロットの現在アクティブなページを維持します。
ページをリフレッシュすると、Next.js は @analytics
に対して default.js
をレンダリングします。default.js
が存在しない場合、代わりに 404
がレンダリングされます。
さらに、children
は暗黙的なスロットであるため、Next.js が親ページのアクティブな状態を復元できない場合に children
のフォールバックをレンダリングするためにも default.js
ファイルを作成する必要があります。
リファレンス
params
(オプション)
ルートセグメントからスロットのサブページまでの 動的ルートパラメータ を含むオブジェクトに解決される Promise です。例:
例 | URL | params |
---|---|---|
app/[artist]/@sidebar/default.js | /zack | Promise<{ artist: 'zack' }> |
app/[artist]/[album]/@sidebar/default.js | /zack/next | Promise<{ artist: 'zack', album: 'next' }> |
params
プロパティは Promise であるため、値にアクセスするにはasync/await
または React のuse
関数を使用する必要があります。- バージョン14以前では、
params
は同期プロパティでした。後方互換性のために、Next.js 15でも同期的にアクセスできますが、この動作は将来非推奨になります。
- バージョン14以前では、