为什么有状态的小部件使用状态类中的构建方法来构建自身

时间:2019-03-04 19:11:33

标签: flutter state statefulwidget

我只是在学习颤振-我构建了一些基本教程,现在正在尝试构建一个简单的记事本应用程序。

https://github.com/sketchbuch/examples_flutter/blob/master/notes/lib/src/components/notepad/notepad.dart

在此文件中,我有一个有状态的小部件,该小部件具有state属性。我不明白的是为什么我根本需要有状态的小部件...状态类似乎正在做所有事情,包括构建注释列表。

我这样做正确吗?状态构建整个有状态的小部件似乎并不正确……也许仅仅是因为我的应用程序目前是基本的,但有状态的小部件目前似乎无能为力。

我只是以为staefulwidget可以处理渲染,而状态只是存储属性的对象

2 个答案:

答案 0 :(得分:0)

就像一个空的StatefulWidget子类看起来毫无意义,这是必需的。该类使Flutter可以操纵State子类。

没有StatefulWidget,Flutter无法创建/更新/处置State

StatefulWidget子类也是一种通过在State中添加字段并在StatefulWidget类中使用它们来自定义State行为的方法。

答案 1 :(得分:0)

你在说

  

我的Notepad小部件本身不执行任何操作,但_NotepadState是。那为什么要使用多余的记事本小部件?


为什么需要?

您的记事本小部件并不孤单。它具有超级类。它扩展了 StatefulWidget ,后者又扩展了 Widget (扩展了 DiagnosticableTree ,扩展了 Diagnosticable )。

超类正在为您完成所有繁重的工作,您必须编写几乎为零的代码。通常,它用于接受参数并创建状态。

希望有帮助!