Sobes.tech
Junior — Middle

Flutter'da InheritedWidget sınıfının ne olduğunu ve nasıl kullanıldığını açıklayabilir misiniz?

sobes.tech yapay zeka

AI'dan gelen yanıt

Flutter'da InheritedWidget, widget ağacında çocuklarına veri aktarabilen temel bir sınıftır. Durumu veya yapılandırmayı, yapıcılar aracılığıyla açıkça veri iletmeye gerek kalmadan, alt widget'lerle verimli bir şekilde paylaşmaya olanak tanır.

Nasıl çalışır:

  • InheritedWidget, çocukların ihtiyaç duyabileceği verileri saklar.
  • Çocuklar, bu verilere of(context) yöntemiyle erişebilir.
  • InheritedWidget içindeki veriler değiştiğinde, Flutter bu verilere bağlı widget'ları otomatik olarak yeniden çizer.

Kullanım örneği:

class MyInheritedWidget extends InheritedWidget {
  final int data;

  MyInheritedWidget({required this.data, required Widget child}) : super(child: child);

  static MyInheritedWidget? of(BuildContext context) {
    return context.dependOnInheritedWidgetOfExactType<MyInheritedWidget>();
  }

  @override
  bool updateShouldNotify(MyInheritedWidget oldWidget) {
    return data != oldWidget.data;
  }
}

Bu şekilde, InheritedWidget, Flutter'da reaktif ve verimli durum yönetim sistemleri oluşturmak için temel görevi görür.