Flutter 监听 Stateless Widget 上的生命周期事件?

Posted

技术标签:

【中文标题】Flutter 监听 Stateless Widget 上的生命周期事件?【英文标题】:Flutter listen to lifecycle events on Stateless Widget? 【发布时间】:2021-02-12 10:42:21 【问题描述】:

当应用程序处于后台/前台时,是否有任何解决方案可以监听 StatelessWidget 的生命周期事件?该特定屏幕上没有 StatefulWidget。我正在使用 Getx() 控制器来观察数据变化。

【问题讨论】:

【参考方案1】:

对于 GetX 架构,您不必使用 StatefulWidget,但可以监听生命周期变化, 看来您必须使用 StatefulWidget。

只需在 StatefulWidget 中覆盖此方法即可。

  @override
Future<void> didChangeAppLifecycleState(AppLifecycleState state) async 

if (state == AppLifecycleState.paused) 
else if (state == AppLifecycleState.resumed) 

【讨论】:

【参考方案2】:

更好地使用 statefulwidgets 来监听生命周期事件

【讨论】:

【参考方案3】:

将此代码用于无状态小部件

SystemChannels.lifecycle.setMessageHandler((msg) async 
  print('SystemChannels---> $msg');
);

【讨论】:

以上是关于Flutter 监听 Stateless Widget 上的生命周期事件?的主要内容,如果未能解决你的问题,请参考以下文章

Flutter 中 stateless 和 stateful widget 的区别[Flutter专题60]

在 Flutter 中,如何将数据传递给 Stateless Widget?

Flutter: Stateful 挂件 vs Stateless 挂件

flutter中使用webview

Flutter-状态管理

滚动条不显示flutter web