flutter 是否有类似 Activity.resume()
之类的方法,可以告诉开发者用户已经回到事件。
当我在 Page-B 中从 Internet 中挑选数据并返回到 Page-A 时,如何让 Page-A 知道数据已准备好。
最佳答案
createState()
: 当 Framework 被指示构建 StatefulWidget 时,它会立即调用createState()
mounted
为真: 当createState
创建您的状态类时,会为该状态分配一个buildContext
。buildContext
过于简化,是在部件树中放置这个部件的位置。这是一个更长的解释。 所有小部件都有一个bool this.mounted
属性。当buildContext
被分配时,它变为真。卸载小部件时调用setState
是错误的。initState()
: 这是创建小部件时调用的第一个方法(当然是在类构造函数之后)。initState
只调用一次。它必须调用super.initState()
。didChangeDependencies()
: 在第一次构建小部件时,在initState
之后立即调用此方法。build()
: 这个方法经常被调用。它是必需的,并且必须返回一个 Widget。didUpdateWidget(Widget oldWidget)
: 如果父窗口小部件发生变化并且必须重新构建这个窗口小部件(因为它需要给它不同的数据),但是它正在用相同的runtimeType
重新构建,那么这个方法就会被调用。 这是因为 Flutter 正在重用状态,这是长期存在的。在这种情况下,您可能需要再次初始化一些数据,就像在initState
中一样。setState()
: 这个方法经常被框架本身和开发者调用。它用于通知框架数据已更改deactivate()
: 当从树中删除 State 时调用 Deactivate,但它可能会在当前帧更改完成之前重新插入。这种方法之所以存在,主要是因为 State 对象可以从树中的一个点移动到另一个点。dispose()
:dispose()
在 State 对象被移除时调用,这是永久性的。此方法是您应该取消订阅和取消所有动画、流等的地方。mounted
为假: state 对象永远无法重新挂载,如果调用setState
会抛出错误。
关于flutter - Flutter 中的生命周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41479255/