flutter - Flutter 中的 OnStateChanged 方法

标签 flutter state

在Flutter中,有没有像onStateChanged这样的方法,在页面状态发生变化时调用?

setState(() {
  widget._loadCompleted = true;
  widget._loading = false;
});

我试图在 setState() 方法中设置两个 bool 值。我出于其他几个原因设置状态。所以我想知道最后一次状态更改是否是出于这个特定原因。

最佳答案

正如 Günter 提到的,没有像 onStateChanged() 这样的东西。你必须在 build() 方法中处理它。

如果我没听错,你可以这样使用:

class _MyAppState extends State<MyApp> {
  bool myFlag = false; // initially set to false

  void _doYourWork() {
    setState(() => myFlag = true); // set to true here
  }

  @override
  Widget build(BuildContext context) {
    if (myFlag) {
      // setState() just got called
    } else {
       // we are building fresh for the first time. 
    }
    myFlag = false;
    return yourWidget();
  }
}

在此之后,build() 将收到 myFlag 值为 true,然后它可以再次设置为 false .所以,你可以做到这一点。

关于flutter - Flutter 中的 OnStateChanged 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53314209/

相关文章:

string - flutter/Dart : Convert HEX color string to Color?

dart - Flutter:setState() 中的代码是否重要?

javascript - 在 ReactJS 上对状态对象使用 setState

reactjs - 在 react 上加载数据时显示微调器

dart - 如何检测到 TabBarView 刚刚被拖动?

flutter - 为什么某些变量在 flutter 自定义类中标记为最终变量?

reactjs - 在另一个 axios 请求中使用 axios 响应数据

javascript - 如何解构存储为状态值的对象

database - 如何在 flutter 朔迷离的Cloud Firestore中获取当前自动生成的文档ID?

user-interface - 在volume_up和volume_down图标之间过渡