Flutter:何时创建无状态或有状态页面?

Flutter: When to create Stateless or Stateful page?

我是 Flutter 新手。 Flutter 中的一切都是一个 widget,widget 有两种类型,分别是 Stateless 和 Stateful。了解无状态小部件是不会更改或用户无法与之交互的小部件(文本、图标等),而有状态小部件是会改变其状态的小部件,例如由于用户交互。

当我们想要创建一个新的自定义页面时,我们通常会从 StatelesWidget 或 StatefulWidget 扩展页面。由于 StatelesWidget 可以将 StatefulWidget 作为其子项,反之亦然,那么我们何时应该将页面扩展为 StatefulWidget 或 StatelessWidget?

谢谢。

如果页面本身有某种状态,那么它应该是有状态的小部件。例如,您想远程加载某些内容,并在获取数据时显示进度指示器。加载完成后,页面状态会发生变化,您可以显示任何您想要显示的内容而不是进度指示器。

但也有可能页面本身是一个无状态的widget,并且有一个子widget,例如一个容器,这个容器是有状态的,管理上面提到的远程加载或者依赖于某种用户交互.

状态管理是 Flutter 的核心问题,您有很多选择,但并不总是很容易找到最好的。您可以轻松地与框架作斗争,而不是让它为您完成工作。如果您是新手,我建议您观看一些视频,它们对我帮助很大,例如 this or this.