見出し画像

【Flutter/Dart】ValueListenableBuilderってなんなの? なんで使うときは、Scaffoldを覆うように使うの?🤔

ValueListenableBuilderってなんなの? なんで使うときは、Scaffoldを覆うように使うの?🤔

`ValueListenableBuilder` は、Flutterでのリアクティブプログラミングのためのウィジェットです。これは、`ValueListenable` オブジェクトに基づいてUIを更新するために使用されます。このウィジェットは、指定された `ValueListenable` オブジェクトの値が変わるたびに、その `builder` 関数を再実行します。`Scaffold` を覆うように使うのは、アプリ全体のUIがその `ValueListenable` オブジェクトの値の変化に応じて更新されるようにするためです。これにより、状態の変化に基づいて効率的にUIを動的に更新することができます。

ChangeNotifierProviderとはどう違うの?🤔

`ChangeNotifierProvider` と `ValueListenableBuilder` は似ていますが、使い方に違いがあります。`ChangeNotifierProvider` は、特定の `ChangeNotifier` オブジェクトをウィジェットツリー内の下位のウィジェットに提供します。これにより、提供されたオブジェクトが変更を通知すると、ウィジェットツリー内の該当部分が再構築されます。一方、`ValueListenableBuilder` は、単一の `ValueListenable` オブジェクトに焦点を当て、その値の変更に応じてウィジェットを更新します。`ChangeNotifierProvider` はより広範な状態管理のために使われ、`ValueListenableBuilder` は特定の値の変更に注目する場合に適しています。

Hiveを使用する場合は、ChangeNotifierProviderは使えなくて、ValueListenableBuilderしか使えないの?🤔

Hiveを使用する場合、`ChangeNotifierProvider`も`ValueListenableBuilder`も使うことができますが、使い方は異なります。`ChangeNotifierProvider`は、ChangeNotifierを継承したクラスを提供し、そのクラスが変更を通知するときにウィジェットツリーを更新します。一方、`ValueListenableBuilder`は、単一の`ValueListenable`オブジェクトに対する変更をリッスンし、それに応じてウィジェットを更新します。HiveのBoxは`ValueListenable`を実装しているため、`ValueListenableBuilder`を使用してBoxの変更を監視しUIを更新することが一般的です。

終末のワルキューレ、Netflixでやってますね!! めっちゃ面白いですね!! 薬屋のひとりごともNetflixでやってますよね、てか、薬屋のひとりごとは、アマプラでも見れたっぽいですよね!!)

 こちらですよね!! めちゃめちゃ大人気ですよね!! 薬屋のひとりごと!!


よろしくお願いしますッ!