Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
React'te Veri Çekmek: fetch + Effect'ten TanStack Query'ye, Suspense ve use()
Effect ile veri çekmek cache, deduplication, retry ve invalidation vermez; TanStack Query bunları query key etrafında toplar. Bookstore kataloğunu ve sunucu tarafı sepeti TanStack Query'ye taşıyıp geri dönülen aramanın cache'ten geldiğini, optimistic update'in 500'de geri alındığını, 409 Problem Details'ın kullanıcıya gösterildiğini, Suspense'in 300 ms'lik gösterim aralığını ve render içinde oluşturulan promise'in use() ile üç saniyede 3.739 istek attığını ölçüyoruz.
Server State'i Yönetmek: resource, httpResource, chain() ve Mutation Sonrası Invalidation
Angular 22'de server state, loading, error, reloading ve local durumlarını kendisi taşıyan resource ailesiyle yönetilir: okuma httpResource ile, yazma HttpClient ile yapılır, mutation'dan sonra resource reload() ile tazelenir. Bookstore'un kitap sayfasında chain() ile bağımlı resource'ları, optimistic yorum eklemeyi ve hatada geri almayı, iki component'in aynı listeyi ayrı çekmesini, NgRx 22'nin withPreviousValueOnLoading'ini ve error'da value() okumayı gerçek çıktılarla gösteriyoruz.