Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗jsnxPmLtPR 40 of 57 menu
◀ ▶

NextJS'te Paralel Yönlendirme

NextJS'te, sitenin bir bölümünün istenen URL'ye bağlı olarak farklı içerik göstermesi sağlanabilir. Buna paralel yönlendirme denir.

Bir örnek üzerinden inceleyelim. Sitemizin aşağıdaki düzene sahip olduğunu varsayalım:

export default function RootLayout({children}) { return ( <html lang="en"> <body> <header> header </header> <main> {children} </main> <footer> footer </footer> </body> </html> ); }

Diyelim ki başlıkta (header) dinamik bilgilerin gösterilmesini istiyoruz. /users URL'sinde kullanıcıların, /posts URL'sinde ise gönderilerin gösterildiği bir bileşen olsun.

Bu tür bir paralel yönlendirme için adı @ sembolü ile başlayan özel bir klasör oluşturulmalıdır. Örnek olarak klasörümüze @info adını verelim.

Bu klasörün içine iki bileşen yerleştireceğiz. Birincisi /users/ klasöründe kullanıcıları göstermek için, ikincisi ise /posts/ klasöründe gönderileri göstermek için. Dosya yapımız aşağıdaki gibi olacaktır:

  • /app/
    • /@info/
      • /users/
        • page.jsx
      • /posts/
        • page.jsx

Şimdi sitemizin düzeninde (layout) özel bir ekleme komutu yazmamız gerekiyor. Bunun için özel bir dinamik slot kullanılmalıdır.

Bunun ne olduğunu anlamak için öncelikle sitemizin düzen fonksiyonunun parametresine bakalım:

export default function RootLayout({children}) { return ( ); }

Parametre olarak bir nesnenin iletildiğine ve bu nesneden sitenin içeriğini children değişkenine çıkardığımıza dikkat edin.

Bu nesnede başka anahtarlar da bulunabilir. Bunlar, adı @ ile başlayan klasörlere karşılık gelir.

Bizim durumumuzda @info klasörümüz var, bu da info değişkenine erişebileceğimiz anlamına gelir. Bu değişken, URL'ye bağlı olarak bileşenlerden birinin (kullanıcılar veya gönderiler) içeriğini taşır. Bu değişkeni alalım:

export default function RootLayout({children, info}) { return ( ); }

Şimdi düzenin içinde info değişkenini gösterebiliriz. URL'ye bağlı olarak buraya bileşenlerimizden birinin içeriği eklenecektir:

export default function RootLayout({children, info}) { return ( <html lang="en"> <body> <header> <div> {info} </div> </header> <main> {children} </main> <footer> footer </footer> </body> </html> ); }

Sağ kenar çubuğu için dinamik bir slot oluşturun.

Sol kenar çubuğu için dinamik bir slot oluşturun.

← →
↑
Türkçe▼
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet