我正在使用Flutter SDK制作应用程序,但由于我不知道是否有任何flutter回调方法(如本机android activity回调方法中)而陷入困境。 请让我知道是否有。 谢谢
答案 0 :(得分:6)
createState(): 当指示框架构建StatefulWidget时,它将立即调用createState()
已安装为真: 当createState创建状态类时,会将buildContext分配给该状态。 BuildContext被过度简化,该小部件在小部件树中的放置位置。这是更长的解释。 所有小部件都具有bool this.mount属性。分配buildContext后,它变为true。卸载小部件时调用setState是错误的。
initState(): 这是在创建窗口小部件时(当然在类构造函数之后)调用的第一个方法。initState只会被调用一次,并且只会被调用一次。它必须调用super.initState()。
didChangeDependencies(): 第一次构建窗口小部件后,将在initState之后立即调用此方法。
build(): 这种方法经常被调用。它是必需的,并且必须返回一个Widget。
didUpdateWidget(Widget oldWidget): 如果父窗口小部件发生更改并且必须重建此窗口小部件(因为需要为其提供不同的数据),但是使用相同的runtimeType对其进行重建,则将调用此方法。 这是因为Flutter正在重用长期存在的状态。在这种情况下,您可能希望像initState一样再次初始化一些数据。
setState(): 通常从框架本身和开发人员调用此方法。它用于通知框架数据已更改
停用(): 当从树中删除State时,将调用Deactivate,但是可以在当前帧更改完成之前重新插入它。之所以存在此方法,是因为State对象可以从树中的一个点移动到另一点。
dispose(): 当移除State对象时,将调用Dispose,这是永久的。 您可以在此方法退订并取消所有动画,流等。
安装错误: 状态对象永远无法重新安装,并且调用setState会引发错误。
答案 1 :(得分:1)