📜  Flutter Widget 的生命周期

📅  最后修改于: 2022-05-13 01:55:11.680000             🧑  作者: Mango

Flutter Widget 的生命周期

无状态小部件:在应用程序的整个生命周期中保持不变的小部件称为无状态小部件。当我们希望结构在整个应用程序中保持不变时,我们会使用它们,例如,AppBar、配色方案,即通常的用户界面(UI)。这些小部件是不可变的,即它们无法更改。这里Hot Reload可以反映app结构的变化,可以用来做验证。

无状态小部件就像无法计划的单个块小部件。它们只能被销毁以使用另一组小部件配置和属性创建一个新的。

无状态小部件的生命周期很简单;只有一个阶段:构建方法。一旦构建了小部件,构建方法就会自动调用,您应该在其中创建要在应用程序中添加的任何外观。

有状态的小部件:当我们希望在屏幕上更新对象时使用的小部件称为有状态小部件。例如:当用户按下按钮触发动作时(基本上是用户交互)。这些小部件是可变的,即可以根据要求对其进行操作。在这里,Hot Reload 无法反映所做的更改;因此,为了达到目的,使用了热重启。

由于可以使用 state 对象跟踪无状态小部件的属性和配置,因此我们可以使用 setState() 方法管理所有这些变量。以下是有状态小部件生命周期中的主要阶段:

  • init State () :一旦 State 最初被初始化,init State 就会被隐式触发。当我们希望在创建有状态小部件时发生某些事情时使用它。
  • build () : build 方法在小部件被构建并出现在屏幕上时被触发。当我们希望每次有状态小部件重建时都发生某些事情时使用它。
  • deactivate() :当有状态的小部件被销毁时调用 Deactivate 方法(就像析构函数一样)。当我们希望在有状态的小部件被销毁之前发生某些事情时使用它。