Flutter-InheritedWidget-处理

Flutter-InheritedWidget-处理,第1张

Flutter-InheritedWidget-处理

InheritedWidget
行为与其他行为相同
Widget
。他们的寿命很短:通常不超过一个
build
电话。

如果您想存储更长的数据,那

InheritedWidget
不是您想要的。您需要一个
State

这也意味着,最终,您可以将

State
的dispose用于您的bloc处置

class BlocHolder extends StatefulWidget {  final Widget child;  BlocHolder({this.child});  @override  _BlocHolderState createState() => _BlocHolderState();}class _BlocHolderState extends State<BlocHolder> {  final _bloc = new MyBloc();  @override  Widget build(BuildContext context) {    return MyInherited(bloc: _bloc, child: widget.child,);  }  @override  void dispose() {    _bloc.dispose();    super.dispose();  }}class MyInherited extends InheritedWidget {  final MyBloc bloc;  MyInherited({this.bloc, Widget child}): super(child: child);  @override  bool updateShouldNotify(InheritedWidget oldWidget) {    return oldWidget != this;  }}class MyBloc {  void dispose() {  }}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5051802.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-16
下一篇2022-11-15

发表评论

登录后才能评论

评论列表(0条)

    保存