Proje: Okul B2B App · Hub: Okul B2B App — Decisions
Expo Router File-Based Routing Kararı
Seçim: React Navigation’ın manuel stack/tab konfigürasyonu yerine Expo Router 6 dosya tabanlı routing.
Why:
- Yeni bir Expo projesi olduğundan Expo Router’ın natif Next.js benzeri routing deneyimi standart hale geldi
- Tab layout
(tabs)/_layout.tsxile otomatik oluşturulur, her ekran sadece dosya oluşturmakla eklenir typedRoutes: trueile route tip güvenliği sağlanır- Deep linking otomatik olarak dosya yapısından türetilir
How to apply:
- Yeni ekran ekleme:
app/altında.tsxdosyası oluştur - Tab’a eklemek için:
app/(tabs)/yeni-ekran.tsx+_layout.tsx’e TabBarItem ekle - Modal için: Stack.Screen olarak değil, bileşen seviyesinde React Native Modal tercih edilir (tab navigation’ı bozmamak için)
Kısıtlar:
- Modal/drawer navigasyon için hâlâ Stack.Screen kullanılabilir ama mevcut yaklaşım Component-level Modal
- Authenticated sayfalar Stack değil,
_layout.tsxstate ile korunur (AuthFlow, OnboardingScreen)
Versiyon: expo-router ~6.0.15
Related
- navigation-yapisi — route tree detayları
- sistem-genel-bakis — tech stack