Flutter: BLoC ve Navigasyon Bağlamları

Bugün size, MultiBlocProvider'ı tüm BLoC'lerin global bir sağlayıcısı olarak sunmazsak, BLoC'yi bir sonraki ekrana navigatör aracılığıyla nasıl geçirebileceğimizi göstereceğim.

Git deposunda gözlemleyebileceğiniz tam örnek .
Navigasyon vakasından başlayacaktım:

Bu durumda, iki farklı BuildContext nesnemiz var, birincisi Widget'ınızın "build" işleviyle ilgili bir bağlam nesnesi ve ikincisi "MaterialPageRoute" oluşturucuyla ilgili "routeContext".

Küresel BLoC

MultiBlocProvider tüm uygulamayı kapladığında, hangi bağlamın kullanılacağı önemli değildir, tüm BLoC her bağlamdan geçirilecektir.

Ancak bir düşünün, tüm gereçler her BLoC'ye erişebilecek. Yetkilendirme verileri veya bir grup pencere öğesi için erişilebilir olması gereken bazı profil bilgileri olması sorun değil. Ancak, API'den talep edilmesi gereken verilerse ve yalnızca yetkilendirme başarılı olduktan sonra, bu BLoC'nin her birinin tembel başlatılmasıyla ilgili çok sayıda kod yazmanız ve yetersiz kullanılan olayları, durumları vb. Yönetmeniz gerekir.

Yerel BLoC

Uygulamanın her bölümü için BLoC'yi yerelleştirebiliriz, bunu nasıl yapacağınızı zaten biliyorsunuz:

Bu durumda, bu BLoC'ye yalnızca bu kapsamda sahip olacaksınız, örneğin ürün kataloğunu göstermek için kullanılan bir sayfadır. Ancak bu BlocProvider'ın alt bloğunun içindeki BlocBuilder'daki tüm kodlar, sizi örnekteki gibi ihtiyaç duyan her işleve bloc bağlamını geçirmeye zorlayan bloc bağlamına erişemez:

Yerel BLoC ile Geçici Çözüm

Bağlam nesnesi verilerinin kaybolmasını önlemek için, yalnızca durum bilgisiz bir sarmalayıcı oluşturun ve hedef parçacığı, parçacığın derleme bağlamından bloğa erişmek için çocuk olarak kullanın:

Ardından, bir sayfanın bir bölümünü oluşturmak, bloğu gezinmeden geçirmek vb. Daha kolay olacaktır.

Ve önceki sayfanın BLoC'sini temel alan bir sayfa widget'ı oluşturmanız gereken diğer tarafta da aynı sarmalayıcıyı kullanın, örneğin Ana Sayfa> Öğe Ayrıntıları:

Sonuç olarak, gezinme yoluyla geçiş bloğu için bir çözüme sahibiz ve widget'larda BLoC ile çalışmayı basitleştirdik.

Her zamanki gibi, tüm kaynaklar açık ve GitHub depomda mevcut , bu yüzden iyi şanslar!

Lütfen bu makaleyi geliştirmek istiyorsanız bana yardım edin, bu yüzden utanmayın - yorumlarınızı yazın!

Suggested posts

Mobil Geliştirmede Uzmanlaşma: Uygulamanız için En İyi Programlama Dilini Nasıl Seçersiniz?

Mobil Geliştirmede Uzmanlaşma: Uygulamanız için En İyi Programlama Dilini Nasıl Seçersiniz?

Mobil geliştirme, işletmelerin günümüzün dijital dünyasında başarılı olması için hayati bir bileşen haline geldi. Bir mobil uygulama geliştiricisi olarak, uygulamanızı oluşturmak için doğru programlama dilini seçmek çok önemlidir.

Flutter Uzatma Yöntemleri: Örneklerle Bir Kılavuz

Flutter Uzatma Yöntemleri: Örneklerle Bir Kılavuz

Birden çok platformda çalışabilen uygulamalar oluşturmak istiyorsanız, Flutter dikkate alınması gereken harika bir çerçevedir. Dart programlama dilini kullanır ve onu gerçekten esnek kılan "uzatma yöntemleri" adı verilen bir özelliği vardır.

Related posts

zamirler süper korkutucu

Çoğu zaman olduğu gibi birdenbire gözüme çarpıyor Her şey yeniden yarı yolda <Hayır, Pasifik'te kesip attığınız değil, karnavalda olan> Her manşet yüksek sesle… ..

"Mariana Çukuru Ortaya Çıktı: Uçurumun Korkunç Gizli Gerçeklerini Ortaya Çıkarmak"

"Mariana Çukuru Ortaya Çıktı: Uçurumun Korkunç Gizli Gerçeklerini Ortaya Çıkarmak"

Giriş: Cesur okuyucular, bizi gezegenimizin en karanlık derinliklerine götürecek bir yolculuğa hoş geldiniz. Bu blogda, Mariana Çukuru'nun esrarengiz dünyasına dalıyor, onun gizli sırlarını açığa çıkarıyor ve yüzeyinin altında yatan tüyler ürpertici gerçekleri ortaya çıkarıyoruz.

Medyayı Yeniden Düşünmek: McChesney'nin Beş Gerçeği ve İletişimin Geleceği

Günümüzün hiper-bağlantılı dünyasında, medya sistemleri kamuoyunun şekillenmesinde ve dolayısıyla demokratik karar vermede çok önemli bir rol oynamaktadır. Bilgin Robert McChesney, iletişimin ekonomi politiğine ilişkin derinlemesine analizinde, geleneksel kanıya meydan okuyor ve medya hakkında kendi deyimiyle "beş gerçek" sunuyor.

Work Week'te Öğrenme sandığınızdan daha önemli

Work Week'te Öğrenme sandığınızdan daha önemli

Çoğu zaman kendimizi, bizim için iyi olduğunu bildiğimiz şeyleri uygulamakta zorlanırken buluruz. Bir başkasına onu sevdiğimizi söylemekten bir korsan gibi konuşmayı hatırlamaya kadar, her zaman bu şeyleri zaten yaptıkları için bir günlük, haftalık veya aylık olaylara gerek olmadığını iddia edenler olacaktır.