Next.js to potężny framework do tworzenia wydajnych aplikacji React. Jedną z jego funkcji jest możliwość tworzenia niestandardowych układów stron, co pozwala na stworzenie spójnego projektu, który jest łatwy w utrzymaniu i aktualizacji w całej aplikacji.
Tworzenie niestandardowego komponentu układu w Dalej. JS
W folderze o nazwie składniki w swoim projekcie Next.js utwórz Układ.jsx i dodaj następujący kod, aby utworzyć składnik układu.
import Głowa z„następny / głowa”
import nagłówek z„./Nagłówek.jsx”
import Stopka z„./Stopka.jsx”
konst Układ = (dzieci) => (
Moja aplikacja</title>
"stylesheet" href="/static/css/style.css" />
</Head>
{dzieci}
</div>
)
eksportuj domyślny Układ
< p>Ten komponent importuje komponenty Header i Footer i akceptuje elementy podrzędne jako rekwizyty. Renderuje dzieci pomiędzy komponentami Header i Footer. Gdy zawiniesz stronę z tym układem, nagłówek i stopka będą wyświetlane u góry iu dołu.
Używanie Składnik układu
Aby użyć składnika układu, zaimportuj go do składnika strony i użyj, jak pokazano poniżej.
importuj Układ z '../components/Layout'
const Strona = () => (
Strona główna</h1>
</Układ>
)
eksportuj default Strona
Zastosuje układ do tej strony. Możesz powtórzyć ten proces dla wszystkich stron, na których chcesz zastosować układ.
Aby użyć układu na wszystkich stronach w aplikacjach jednocześnie, zaimportuj komponent układu do pliku /page/_app.js i użyj go w następujący sposób.
import Układ z rozpiętość> "../components/layout";
funkcja Moja aplikacja({ Component, pageProps } rozpiętość>) {
powrót (
</Układ>
) ;
}
Przykłady pokazane do tej pory użyj 12-stronicowych folderów Next.js. W Next.js 13 tworzysz układ w folderze aplikacji (w chwili pisania tego tekstu jest to wersja beta).
Tworzenie niestandardowego układu w folderze aplikacji
Folder app w Next.js 13 wymaga utworzenia układu głównego u jego podstawy. To jest układ, który Next.js zastosuje do wszystkich stron Twojej aplikacji.
Aby zademonstrować, utwórz plik o nazwie layout.jsx i dodaj następujący kod. p>
eksportuj domyślnie funkcja RootLayout({ dzieci } span>) {
powrót (
"en">
{dzieci}</body>
</html>< br/> );
}
Komponent układu głównego akceptuje i renderuje dzieci. Poniżej znajduje się kilka rzeczy, które powinieneś wiedzieć o układzie głównym:
- Musisz umieścić go w folderze aplikacji.
- Zastępuje _app.js i _document.js w folderze strony Next.js 12.
- Musisz jawnie dołączyć znaczniki HTML i body.
- Domyślnie jest to komponent serwera.
Jak wspomniano, układ główny ma zastosowanie do wszystkich stron, więc jak tworzyć niestandardowe układy dla różne segmenty trasy?
W folderze aplikacji możesz zdefiniować trasę, tworząc foldery dla każdej trasy człon. Na przykład utworzenie folderu o nazwie artykuły odwzorowuje ścieżkę URL aplikacja/artykuły. Aby dodać dalsze segmenty trasy, utwórz podfolder w głównym folderze trasy. Na przykład dodanie folderu o nazwie trendy w folderze artykuły odwzorowuje ścieżkę URL app/articles/trending.
Gdy dodasz komponent layout.jsx do folderu trasy, będzie on stosowany do wszystkich stron w tym folderze segment trasy i jego podfoldery. Na przykład dodanie elementu układu do folderu artykuły będzie miało zastosowanie do wszystkich stron w ścieżce artykułów, w tym do podfolderu trendy. Jeśli dodasz również komponent układu w folderze trends, układ w folderze artykułów zostanie w nim zagnieżdżony.
Zalety korzystania z układów
Next.js umożliwia tworzenie elementów układu, których można ponownie używać w różnych strony. Dzięki temu możesz uzyskać spójny wygląd całej witryny bez powielania kodu na wielu stronach. Ponadto układy pomagają szybko wprowadzać zmiany, ponieważ nie trzeba wprowadzać zmian na każdej stronie.