flutter是否具有类似于Activity.resume()的方法,该方法可以告诉开发人员用户已回到 Activity 中。

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

最佳答案

  • createState():
    当框架被指示构建StatefulWidget时,它立即调用createState()
  • mounted为true:
    createState创建您的状态类时,会将buildContext分配给该状态。 buildContext过于简化,即在此小部件所在的小部件树中的位置。这是更长的解释。
    所有小部件都具有bool this.mounted属性。当分配了buildContext时,它变为true。卸载窗口小部件时调用setState是错误的。
  • initState():
    这是在创建窗口小部件时(当然在类构造函数之后)调用的第一个方法。initState仅被调用一次。它必须调用super.initState()
  • didChangeDependencies():
    第一次构建窗口小部件后,在initState之后立即调用此方法。
  • build():
    这种方法经常被调用。它是必需的,并且必须返回一个Widget。
  • didUpdateWidget(Widget oldWidget):
    如果父窗口小部件发生更改并且必须重建此窗口小部件(因为需要为其提供不同的数据),但是正在使用相同的runtimeType对其进行重建,则将调用此方法。
    这是因为Flutter正在重用长期存在的状态。在这种情况下,您可能想要再次初始化一些数据,就像在initState中一样。
  • setState():
    通常从框架本身和开发人员中调用此方法。它用于通知框架数据已更改
  • deactivate():
    当从树中删除State时,将调用Deactivate,但是可以在当前帧更改完成之前将其重新插入。之所以存在此方法,是因为状态对象可以从树中的一个点移动到另一点。
  • dispose():
    当State对象被移除时,dispose()被调用,这是永久的。您应该在此方法退订并取消所有动画,流等。
  • mounted为假:
    状态对象永远无法重新挂载,并且在调用setState时引发错误。
  • 10-08 16:35