Sobes.tech
Junior — Middle

Flutter-də InheritedWidget sinfi nədir və necə istifadə olunur, izah edə bilərsinizmi?

sobes.tech Süni İntellekt

AI-dan cavab

Flutter-də InheritedWidget, widget ağacında uşaqlarına məlumat ötürə bilən əsas sinifdir. Bu, vəziyyət və ya konfiqurasiyanı uşaqlarla səmərəli paylaşmağa imkan verir, konstrukturlar vasitəsilə məlumatları açıq şəkildə ötürməyə ehtiyac olmadan.

Necə işləyir:

  • InheritedWidget uşaqlar üçün lazım ola biləcək məlumatları saxlayır.
  • Uşaqlar bu məlumatlara of(context) metodu ilə daxil ola bilərlər.
  • InheritedWidgetdəki məlumatlar dəyişdikdə, Flutter avtomatik olaraq bu məlumatlara bağlı widgetləri yenidən çəkir.

İstifadə nümunəsi:

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;
  }
}

Beləliklə, InheritedWidget Flutter-da reaktiv və səmərəli vəziyyət idarəetmə sistemləri qurmaq üçün əsasdır.