🙌
【Flutter】 ConsumerWidgetを使っているがこのWidgetにinitState()を加えたい
背景
ConsumerWidgetを使用しているが、本ConsumerWidgetに入ったタイミングで
特定の処理を行いたいなぁと思っていまして方法を見つけたのでここに記します。
ConsumerStatefullWidgetを使用する
このWidgetを使用すると状態管理を行えますし、initState()の処理も行えます。
final fooProvider = Provider((ref) => "foo");
class FooWidget extends ConsumerStatefulWidget {
const FooWidget({Key? key}) : super(key: key);
@override
FooWidgetState createState() => FooWidgetState();
}
class FooWidgetState extends ConsumerState<FooWidget> {
@override
void initState() {
super.initState();
ref.read(fooProvider); // foo
}
@override
Widget build(BuildContext context) => Text(
ref.watch(fooProvider),
)
}
Discussion