在Android开发世界中,Fragment/Activity
生命周期超类方法调用有一个固定的顺序,我指的是answer。
现在,关于Flutter,如果我在IDE(Visual Code和Android Studio)中键入空的StatefulWidget didUpdateWidget或任何其他回调,那么我会接受提示,最终得到这样一个顺序,即实现位置在调用之前 *。
@override
void didUpdateWidget(covariant AnimatedIconsCircle oldWidget) {
// TODO: implement didUpdateWidget
super.didUpdateWidget(oldWidget);
}
超类方法调用顺序命题与Flutter代码库相反:
/// Implementations of this method should start with a call to the inherited
/// method, as in `super.didUpdateWidget(oldWidget)`.
@mustCallSuper
@protected
void didUpdateWidget(covariant T oldWidget) { }
正确的方法是什么?这有什么关系吗?”
1条答案
按热度按时间ymzxtsji1#
我意识到文档中的一些构建方法是显而易见的:
此方法的实现应该从调用继承的方法开始,如super.initState()。
没有信息。我用
InheritedWidget
测试过,顺序不重要。此方法的实现应该从调用继承的方法开始,如super.didUpdateWidget(oldWidget)。
此方法的实现应该以调用继承的方法结束,如super.dispose()。