Дефолтный файл слота в NextJS
В предыдущем уроке мы сделали
динамический слот с именем
info:
export default function RootLayout({children, info}) {
return (
<html lang="en">
<body>
<header>
<div>
{info}
</div>
</header>
<main>
{children}
</main>
<footer>
footer
</footer>
</body>
</html>
);
}
Есть, однако, проблема. Дело
в том, что наш слот работает
только для двух типов адресов:
/users и /posts.
Если же вбить в адресную строку
другой адрес, для которого наш
слот не определен, то NextJS
выдаст 404 ошибку.
Для решения проблемы непосредственно
в папку со слотом следует положить
специальный файл default.jsx.
В этом файле должен быть компонент,
который будет показываться, когда
в адресную строку вбит URL, не заданный
для нашего слота.
To есть в нашем случае получится следующая файловая структура:
- /app/
- /@info/
- default.jsx
- /users/
- page.jsx
- /posts/
- page.jsx
- /@info/
Убедитесь, что динамический слот
выдает 404 ошибку, когда
в адресную строку вбит URL, не заданный
для нашего слота.
Исправьте проблему с 404 ошибкой.