default.js

Файл default.js используется для отображения резервного контента в параллельных маршрутах (Parallel Routes), когда Next.js не может восстановить активное состояние слота (slot) после полной загрузки страницы.

При мягкой навигации (soft navigation) Next.js отслеживает активное состояние (подстраницу) для каждого слота. Однако при жесткой навигации (полная загрузка страницы) Next.js не может восстановить активное состояние. В этом случае для подстраниц, не соответствующих текущему URL, может быть отображен файл default.js.

Рассмотрим следующую структуру папок. Слот @team содержит страницу settings, а @analytics — нет.

Параллельные маршруты с несоответствующими путями

При переходе на /settings слот @team отобразит страницу settings, сохраняя текущую активную страницу для слота @analytics.

При обновлении страницы Next.js отобразит default.js для @analytics. Если default.js не существует, вместо него будет отображена ошибка 404.

Кроме того, поскольку children является неявным слотом, вам также необходимо создать файл default.js для отображения резервного контента для children, когда Next.js не может восстановить активное состояние родительской страницы.

Справочник

params (опционально)

Промис, который разрешается в объект, содержащий параметры динамического маршрута (dynamic route parameters) от корневого сегмента до подстраниц слота. Например:

export default async function Default({
  params,
}: {
  params: Promise<{ artist: string }>
}) {
  const { artist } = await params
}
export default async function Default({ params }) {
  const { artist } = await params
}
ПримерURLparams
app/[artist]/@sidebar/default.js/zackPromise<{ artist: 'zack' }>
app/[artist]/[album]/@sidebar/default.js/zack/nextPromise<{ artist: 'zack', album: 'next' }>
  • Поскольку пропс params является промисом, для доступа к значениям необходимо использовать async/await или функцию use из React.
    • В версии 14 и ранее params был синхронным пропсом. Для обеспечения обратной совместимости в Next.js 15 его по-прежнему можно использовать синхронно, но это поведение будет устаревшим в будущих версиях.