Open1
【Flutter】ChangeNotifierProvider.valueを使って一回作ったmodelを使い回すためのメモ
Unhandled Exception: A {YourModel} was used after being disposed.
回避のため。
ChangeNotifierProviderで作ったmodelを別のpageで使う。
以下の3つ
main_page.dart
(StatelessWidget MainPage)
main_model.dart
(StatelessWidget MainModel extends ChangeNotifier)
add_page.dart
(StatelessWidget AddPage)
があるとして、
MainModelのmodelをAddPageでも使いたい。
- add_pageで、以下追加
ChangeNotifierProvider<AlreadyCreatedModel>.value(
value: AlreadyCreatedModel(), //createではなくvalue
child: SomeWidget(),
);
- AddPage classのfieldに
MainModelを追加
constructorの引数にmodelを追加
class AddPage extends StatelessWidget {
const AddPage(this.model, {Key? key}) : super(key: key);
final MainModel model;
Widget build(BuildContext context) {
...
}
}
- あとは上の変更に合わせて、適宜変更する。
参考
YouTubeのvideoIDが不正です