flutter - Flutter 中的生命周期

标签 flutter

flutter 是否有类似 Activity.resume() 之类的方法,可以告诉开发者用户已经回到事件。

当我在 Page-B 中从 Internet 中挑选数据并返回到 Page-A 时,如何让 Page-A 知道数据已准备好。

最佳答案

  1. createState(): 当 Framework 被指示构建 StatefulWidget 时,它会立即调用 createState()

  2. mounted 为真:createState 创建您的状态类时,会为该状态分配一个 buildContextbuildContext 过于简化,是在部件树中放置这个部件的位置。这是一个更长的解释。 所有小部件都有一个 bool this.mounted 属性。当 buildContext 被分配时,它变为真。卸载小部件时调用 setState 是错误的。

  3. initState(): 这是创建小部件时调用的第一个方法(当然是在类构造函数之后)。initState 只调用一次。它必须调用 super.initState()

  4. didChangeDependencies(): 在第一次构建小部件时,在 initState 之后立即调用此方法。

  5. build(): 这个方法经常被调用。它是必需的,并且必须返回一个 Widget。

  6. didUpdateWidget(Widget oldWidget): 如果父窗口小部件发生变化并且必须重新构建这个窗口小部件(因为它需要给它不同的数据),但是它正在用相同的 runtimeType 重新构建,那么这个方法就会被调用。 这是因为 Flutter 正在重用状态,这是长期存在的。在这种情况下,您可能需要再次初始化一些数据,就像在 initState 中一样。

  7. setState(): 这个方法经常被框架本身和开发者调用。它用于通知框架数据已更改

  8. deactivate(): 当从树中删除 State 时调用 Deactivate,但它可能会在当前帧更改完成之前重新插入。这种方法之所以存在,主要是因为 State 对象可以从树中的一个点移动到另一个点。

  9. dispose(): dispose() 在 State 对象被移除时调用,这是永久性的。此方法是您应该取消订阅和取消所有动画、流等的地方。

  10. mounted 为假: state 对象永远无法重新挂载,如果调用 setState 会抛出错误。

关于flutter - Flutter 中的生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41479255/

相关文章:

google-maps - Flutter Google Map 在 IOS 中首次打开时崩溃

flutter - 如何使用 onListen 回调开始产生事件?

dart - Flutter First 应用程序

laravel - 如何将 firebase token 传递给 Laravel 应用程序?

listview - Flutter Listview.builder,RangeError索引不在0..1(包括0)范围内。2.如何解决?

flutter - 在列小部件内的特定位置对齐行项目

flutter - flutter 连接到沙发底座

unit-testing - 如何从 Dart (Dartz) 中的任一种类型中轻松提取左或右

android - 如何解决 Google Play Store for Flutter 应用程序检测到的崩溃问题

flutter - 如何在flutter中重建父控件?