DEV Community

Cover image for PageStorage Class 💫 🌌 ✨
Gülsen 🦋
Gülsen 🦋

Posted on • Updated on

PageStorage Class 💫 🌌 ✨

Bu yazıda PageStorage class'ının ne olduğunu ve nasıl kullanıldığını öğreneceğiz. İyi okumalar :)

Kaydırma çubuğuna sahip bir sayfanızın olduğunu düşünelim scroll'unuzu belirli bir yere kadar kaydırıp yeni bir sayfa açtığınızda ilk sayfaya geri dönmeniz durumunda kaydırma çubuğunuzun bıraktığınız yerde olmasını isteyebilirsiniz. İşte bu ve benzeri durumlar için Flutter da PageStorage class'ını kullanabiliriz.

Belgeler bu class'ı şöyle tanımlar:

PageStorage, widget'tan daha uzun ömürlü olabilecek değerleri kaydetmek ve geri yüklemek için kullanılır. Örneğin, birden fazla sayfa sekmelerde gruplandığında, bir sayfa kapatıldığında, widget'ı bozulur ve durumu kaybolur. Kökte bir PageStorage ekleyerek ve her sayfaya bir PageStorageKey ekleyerek, sayfanın bazı durumları (ör. Kaydırılabilir bir widget'ın kaydırma konumu) otomatik olarak en yakın atası PageStorage'da depolanır ve geri değiştirildiğinde geri yüklenir.

İşte basit bir örnek:

final PageStorageBucket _pageStorageBucket = PageStorageBucket();

  @override
  Widget build(BuildContext context) {
    return PageStorage(
      bucket: _pageStorageBucket,
      child: Form(
        child: Padding(
          padding: const EdgeInsets.all(8.0),
          child: SingleChildScrollView(
            key: PageStorageKey("key_degerinizi_girin"),
          ),
        ),
      ),
    );
  }
Enter fullscreen mode Exit fullscreen mode

reference

Discussion (0)