はじめに
こんにちは。OREOです。
本記事ではFlutterの開発でよく使われているパッケージhooks_riverpod使用した場合にでてくるConsumerWidgetやHookWidget等の使い分けについてざっくりと整理したいと思います。
各Widgetについて
Flutterを触り始めると出会うのがStatelessWidgetとStatefulWidgetかと思います。2つの特徴はざっくりとこんな感じ。
StatelessWidget | StatefulWidget |
---|---|
静的なWidget | 動的なWidget |
次にhooks_riverpodを導入した場合にでてくる主なWidgetがこちら
HookWidget | ConsumerWidget | HookConsumerWidget | StatefulHookConsumerWidget |
---|---|---|---|
(ライフサイクルをより簡単に管理することができる)動的なWidget | (プロバイダーを用いて状態を管理する)動的なWidget | Hook+Consumerの性質 | 全機能つかえる動的なWidget |
使い分けフローチャート
さいごに
実際のところ全てのWidgetでStatefulHookConsumerWidget
を使ってしまえばなんでもできてしまうのですが,それはナンセンスなので用途に応じて最適なWidgetを使用して可読性の高いコードを書いていきたいですね。
参考情報