ValueNotifier 👯‍♀️ ValueListenableBuilder

Cihan Cengiz
1 min readJul 7, 2020

Merhaba 👋

Yeni bir state yönetimi konusuna daha hoşgeldiniz. Bugün BLoC ve Provider gibi derin sularda yüzen çözümler yerine daha yüzeylerde takılan ama daha efektif olan ValueNotifier ile çalışacağız.

ValueNotifier, ChangeNotifier’dan türetilmiş ve sadece bir değer tutan Listenable bir yapı. Bu ne demek peki? Herhangi bir tipte değer tutan ve bu değer değiştiğinde bundan haberi olan demek.

Neden?

Sınırlarını önceden çizdiğiniz küçük projelerde BLoC/Provider/InheritedWidget gibi yapılar gereksiz karmaşaya sebep olabilir. Ya da StatefullWidget’lar size yeterli gelmeyebilir. Her ne kadar setState metodu ile değiştirdiğiniz state ui’da update olsa da, bundan diğer widgetlar haberdar olamayabilir. Bununla ilgili çokça senaryo yazılabilir. Gelin birini biz yapalım.

Birbirinden izole olmasına karar verdiğimiz 2 Widget’ımız olduğunu düşünün. RaisedButton ve Text. Butona basıldığında Text value değişecek.

ValueNotifier değeri tutarken, ValueListenableBuilder bu değerin değiştiği anda build metodunun çalışmasından sorumlu. initState içindeki .addListener metoduyla değişim sırasında ek görevlerde verebilirsiniz buna. Dispose etmeyi de unutmayın. Umarım faydalı olmuştur.

Güzel günler dilerim 🐙

--

--