gpt4 book ai didi

flutter - 如何在 Flutter 中处理堆栈或提供程序架构中的应用程序状态或生命周期

转载 作者:行者123 更新时间:2023-12-04 15:14:24 25 4
gpt4 key购买 nike

我在我的项目中使用堆叠架构。
这是我的代码

class InfoScreen extends StatelessWidget {

InfoViewModel viewModel;

@override
Widget build(BuildContext context) {
return ViewModelBuilder<InfoViewModel>.reactive(
builder: (context, model, child) => _buildUI(model),
viewModelBuilder: () => InfoViewModel());
}

_buildUI(InfoViewModel viewModel) {
return Scaffold(backgroundColor: Colors.white, body: MainScreen());
}
}
我正在使用无状态小部件,所以我不能使用 didChangeDependencies() 方法来了解应用程序状态。
我的问题是如何处理此屏幕中的应用程序状态?
任何帮助或想法表示赞赏。提前致谢

最佳答案

您可以实现 didChangeDependencies() 在您的 ViewModel 中。
例如:

class InfoViewModel extends BaseViewModel with WidgetsBindingObserver{

void initialise() {
WidgetsBinding.instance.addObserver(this);
}

@override
Future<void> didChangeAppLifecycleState(AppLifecycleState state) async {
switch (state) {
case AppLifecycleState.resumed:
print('On Resume');
break;
case AppLifecycleState.inactive:
case AppLifecycleState.paused:
case AppLifecycleState.detached:
break;
}
}

@override
void dispose() {
WidgetsBinding.instance.removeObserver(this);
super.dispose();
}
}
别忘了调用 onModelReady: (model) => model.initialise()在您的 View 小部件中。

关于flutter - 如何在 Flutter 中处理堆栈或提供程序架构中的应用程序状态或生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64590302/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com