Файл по подразбиране за слот в 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, който не е зададен
за нашия слот.
Тоест в нашия случай ще се получи следната файлова структура:
- /app/
- /@info/
- default.jsx
- /users/
- page.jsx
- /posts/
- page.jsx
- /@info/
Уверете се, че динамичният слот
връща грешка 404, когато
в адресната лента е въведен URL, който не е зададен
за нашия слот.
Отстранете проблема с грешката 404.