颤抖的有状态小部件

时间:2019-05-05 16:25:42

标签: flutter widget

class AppWidget extends StatefulWidget {
  @override
 _AppWidgetState createState() => _AppWidgetState();
}


class _AppWidgetState extends State<AppWidget> {

  int _Count = 0;

  build(context){}
}

我对扑朔迷离的无状态和有状态的小部件很熟悉,但是我很好奇为什么我们没有定义与无状态的小部件一样的有状态的小部件?为什么我们需要为 createstate方法声明两个不同的类,为实际状态实现声明一个类?

我猜可能是flutter团队使用了此实现,因为当应用重新运行时,如果是这种情况,那么我们可以找回旧状态而不会丢失它,那么flutter如何知道?

并且如果应用程序具有1个以上的有状态小部件,那么如何为每个有状态小部件管理状态?我的猜测再次是基于State<AppWidget>的抖动管理状态,但又如何呢?

1 个答案:

答案 0 :(得分:0)

第一类是在您更改小部件时重建小部件的类。因此,例如,如果您在有状态窗口小部件中有一个文本窗口小部件,并且在运行时中,您按了一个按钮,然后将文本从“ Hello World”更改为“ Hello User”,实际上发生的是颤动破坏了第二个类,并使用使用第一个新文本。

您可以在Flutter团队的视频中找到更多信息: Stateful Widgets Video