gpt4 book ai didi

flutter - 如何在Flutter中获取setState.of(context)?

转载 作者:行者123 更新时间:2023-12-03 04:00:17 24 4
gpt4 key购买 nike

我在大多数页面上都有一个带有ModalProgresHUD的应用程序。通常,我可以将功能(例如onTap)传递给该树中的任何小部件,以打开/关闭此微调器。

但是有时候这似乎很困难,我想在WidgetTree上的其他地方访问字段和/或setState。

一种选择似乎是将所有逻辑移到顶部的Widget中,并向下传递处理程序以访问这些方法,但这感觉很笨拙。

    class StatefullPage ..... {
String _someImportantField;
set someImportantField(String newValue) {
_someImportantField = newValue;
if(mounted) setState((){});
}

...
}

class StateOfSomethingElse ... {
Future doSomeWorkThatAffectsTheParent() async {
await something.then((String newResult) {
State.of(context).someImportantField = newResult;// HOW TO DO THIS
}
...
}

最佳答案

您使用哪种状态管理?看起来您只是在使用setState而已,这没有问题。但是要想想,我想最好使用诸如provider或redux之类的东西来处理应用程序的状态。

例如,使用提供程序,您可以在树的顶部提供一个值,并可以在小部件树的任何位置获取该值以执行逻辑。

关于flutter - 如何在Flutter中获取setState.of(context)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57730674/

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