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

问题描述

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

当我们想要创建一个新的自定义页面时,我们通常从 StatelesWidget 或 StatefulWidget 扩展页面。既然 StatelesWidget 可以有 StatefulWidget 作为它的子级,反之亦然,那么我们什么时候应该将页面扩展为 StatefulWidget 或 StatelessWidget?

谢谢。

解决方法

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

但也有可能页面本身是一个无状态小部件,并且有一个子小部件,例如一个容器,而这个容器是有状态的,管理上述远程加载或依赖于某种用户交互。

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