Routing Fundamentals

Her uygulamanın iskeleti yönlendirmedir. Bu sayfa size web için yönlendirmenin temel kavramlarını ve Next.js'de yönlendirmenin nasıl ele alınacağını tanıtacaktır.

Terminology

Öncelikle, bu terimlerin dokümantasyon boyunca kullanıldığını göreceksiniz. İşte hızlı bir referans:

Terminology for Component Tree
Terminology for URL Anatomy

The app Router

Next.js, 13. sürümde React Sunucu Bileşenleri üzerine inşa edilen ve paylaşılan düzenleri, iç içe yönlendirmeyi, yükleme durumlarını, hata işlemeyi ve daha fazlasını destekleyen yeni bir Uygulama Yön lendiricisi sundu.

Uygulama Yönlendirici, app adlı yeni bir dizinde çalışır. app dizini, kademeli uyarlamaya izin vermek için pages dizini ile birlikte çalışır. Bu, önceki davranış için pages dizinindeki diğer rotaları tutarken uygulamanızın bazı rotalarını yeni davranışa seçmenize olanak tanır. Uygulamanız pages dizinini kullanıyorsa, lütfen Pages Router belgelerine de bakın.

Bilmekte fayda var: Uygulama Yönlendiricisi, Sayfa Yönlendiricisine göre önceliklidir. Dizinler arasındaki yönlendirmeler aynı URL yoluna çözümlenmemelidir ve bir çakışmayı önlemek için derleme zamanı hatasına neden olur.

Next.js App Directory

Varsayılan olarak, app içindeki bileşenler React Sunucu Bileşenleridir. Bu bir performans optimizasyonudur ve bunları kolayca benimsemenizi sağlar ve İstemci Bileşenlerini de kullanabilirsiniz.

Öneri: Sunucu Bileşenleri konusunda yeniyseniz Sunucu sayfasına göz atın.

Roles of Folders and Files

Next.js dosya sistemi tabanlı bir yönlendirici kullanır:

Route Segments

Bir rotadaki her klasör bir rota segmentini temsil eder. Her rota segmenti, bir URL yolundaki karşılık gelen segmentle eşlenir.

How Route Segments Map to URL Segments

Nested Routes

İç içe bir rota oluşturmak için klasörleri birbirinin içine yerleştirebilirsiniz. Örneğin, app dizininde iki yeni klasörü iç içe geçirerek yeni bir /dashboard/settings rotası ekleyebilirsiniz.

/dashboard/settings rotası üç segmentten oluşmaktadır:

File Conventions

Next.js, iç içe rotalarda belirli davranışlara sahip kullanıcı arayüzü oluşturmak için bir dizi özel dosya sağlar:

layoutShared UI for a segment and its children
pageUnique UI of a route and make routes publicly accessible
loadingLoading UI for a segment and its children
not-foundNot found UI for a segment and its children
errorError UI for a segment and its children
global-errorGlobal Error UI
routeServer-side API endpoint
templateSpecialized re-rendered Layout UI
defaultFallback UI for Parallel Routes

Bilmekte fayda var: .js, .jsx veya .tsx dosya uzantıları özel dosyalar için kullanılabilir.

Component Hierarchy

Bir rota segmentinin özel dosyalarında tanımlanan React bileşenleri belirli bir hiyerarşi içinde oluşturulur:

Component Hierarchy for File Conventions

İç içe geçmiş bir rotada, bir segmentin bileşenleri üst segmentinin bileşenlerinin içinde iç içe geçecektir.

Nested File Conventions Component Hierarchy

Colocation

Özel dosyalara ek olarak, kendi dosyalarınızı (örneğin bileşenler, stiller, testler, vb.) app dizinindeki klasörlerin içine yerleştirme seçeneğiniz vardır.

Bunun nedeni, klasörler rotaları tanımlarken, yalnızca page.js veya route.js tarafından döndürülen içeriklerin herkese açık olarak adreslenebilir olmasıdır.

An example folder structure with colocated files

Proje Organizasyonu ve Ortak Yerleşim hakkında daha fazla bilgi edinin.

Advanced Routing Patterns

App Router ayrıca daha gelişmiş yönlendirme modellerini uygulamanıza yardımcı olacak bir dizi kural sunar. Bunlar şunları içerir:

Bu kalıplar daha zengin ve daha karmaşık kullanıcı arayüzleri oluşturmanıza olanak tanıyarak, geçmişte küçük ekipler ve bireysel geliştiriciler tarafından uygulanması karmaşık olan özellikleri demokratikleştirir.

Next Steps

Artık Next.js'de yönlendirmenin temellerini anladığınıza göre, ilk rotalarınızı oluşturmak için aşağıdaki bağlantıları takip edin: