Next.js е мощна рамка за изграждане на високопроизводителни React приложения. Една от функциите му е възможността да създавате персонализирани оформления за вашите страници, което ви позволява да създадете последователен дизайн, който е лесен за поддръжка и актуализиране във вашето приложение.
Създаване на персонализиран компонент на оформлението в Next. JS
В папката с име компоненти във вашия проект Next.js създайте Layout.jsx и добавете следния код, за да създадете компонента за оформление.
импортиране Глава от"следваща/глава"
импортиране Заглавка от'./Header.jsx'
импортиране Долен колонтитул от'./Footer.jsx'
конст Оформление = (деца) => (
Моето приложение</title>
"stylesheet" href="/static/css/style.css" />
</Head>
{children}
</div>
)
експортиране по подразбиране Оформление
< p>Този компонент импортира компонентите за горен и долен колонтитул и
приема деца като подпори. Той изобразява децата между компонентите на горния и долния колонтитул. Когато обвиете страница с това оформление, горният и долният колонтитул ще се показват в горната и долната част. Използване на Компонент за оформление
За да използвате компонента за оформление, импортирайте го в компонент на страница и го използвайте, както е показано по-долу.
import Оформление от '../components/Layout'
const Страница = () => (
Начало</h1>
</Оформление>
)
експортиране страница по подразбиране
Ще приложи оформление към тази страница. Можете да повторите този процес за всички страници, към които искате да приложите оформлението.
За да използвате оформлението във всички страници в приложенията наведнъж, импортирайте компонента на оформлението във файла /page/_app.js и го използвайте по следния начин.
импортиране Оформление от span> "../components/layout";
функция MyApp({ Component, pageProps } span>) {
връщане (
</Layout>
) ;
}
Примерите, показани досега използвайте папките Next.js с 12 страници. В Next.js 13 създавате оформлението в папката на приложението (до момента на писане е в бета версия).
Създаване на персонализирано оформление в папката на приложението
Папката приложение в Next.js 13 изисква да създадете основно оформление в основата му. Това е оформлението, което Next.js ще приложи към всички страници на вашето приложение.
За да демонстрирате, създайте файл с име layout.jsx и добавете следния код. p>
export по подразбиране функция RootLayout({ деца } span>) {
връщане (
"en">
{children}</body>
</html>< br/> );
}
Компонентът на основното оформление приема и изобразява деца. По-долу са някои от нещата, които трябва да знаете за основното оформление:
- Трябва да го включите в папката на приложението.
- Той замества _app.js и _document.js в папката на страницата на Next.js 12.
- Трябва изрично да включите HTML и body таг.
- Това е сървърен компонент по подразбиране.
Както споменахме, основното оформление се прилага за всички страници, така че как да създадете персонализирани оформления за различни сегменти от маршрута?
В папката на вашето приложение можете да дефинирате маршрут, като създадете папки за всеки маршрут сегмент. Например създаването на папка, наречена статии, се съпоставя с URL пътя приложение/статии. За да добавите допълнителни сегменти от маршрута, създайте подпапка в основната папка на маршрута. Например добавянето на папка, наречена набиращи популярност в папката статии, се съпоставя с URL пътя app/articles/trending.
Когато добавите компонент layout.jsx към папка с маршрут, той ще се приложи към всички страници в нея сегмент от маршрута и неговите подпапки. Например, добавянето на компонент за оформление към папката статии ще се приложи към всички страници в маршрута на статиите, включително тези в подпапката набиращи популярност. Ако добавите и компонент за оформление в папката набиращи популярност, оформлението в папката със статии ще бъде вложено в него.
Предимства от използването на оформления
Next.js ви позволява да създавате компоненти на оформление, които можете да използвате повторно в различни страници. Това ви позволява да имате последователен изглед в уебсайта си, без да дублирате код на множество страници. Освен това оформленията ви помагат да прилагате промените бързо, защото не е необходимо да правите промени на всяка страница.